# ESP32 USB-диагностика регистрации Solana

- статус: `pending`

## Что сделано

- В основной скетч `shine_homeserver_main` добавено сохранение последней диагностики регистрации Solana в `Preferences`.
- Добавлены USB-команды через `Serial`:
  - `last_error`
  - `last_diag`
  - `reg_diag`
  - `clear_error`
  - `clear_diag`
  - `help`
- Перед отправкой `create_user_pda` добавлена RPC-проверка `users_economy_config_pda`.
- Стартовый `paid_limit_bytes` в подписываемой записи теперь берётся из on-chain `users_economy_config`, а не из хардкода.

## Что проверять

1. Подключить устройство по USB.
2. Открыть последовательный порт `115200`.
3. Отправить команду `last_error`.
4. Убедиться, что устройство печатает сохранённую диагностику между маркерами:
   - `LAST_REGISTER_DIAG_BEGIN`
   - `LAST_REGISTER_DIAG_END`
5. Запустить регистрацию с устройства и дождаться ошибки или успеха.
6. Снова отправить `last_error`.
7. Проверить, что в диагностике есть:
   - `status`
   - `summary`
   - `rpc`
   - `user_pda`
   - `users_economy_config_pda`
   - `inflow_vault_pda`
   - `root_pub`
   - `blockchain_pub`
   - `device_pub`
8. При ошибке `0x3` проверить, что текст стал конкретнее и помогает понять, какая PDA или RPC-конфигурация не совпала.

## Ожидаемый результат

- Последняя ошибка регистрации читается по USB без просмотра экрана.
- После неудачной регистрации на устройстве остаётся подробная диагностическая запись.
- Если `users_economy_config_pda` отсутствует или принадлежит не той программе, это явно видно до отправки транзакции.

