SHiNE-server/shine-solana/shine
AidarKC 42dcf6970d homeserver: рендейм subserver→homeserver, документ деривации ключей, запрет пустого пароля
Основное (наша работа в этой сессии):
- Переименование «subserver» → «homeserver» по всему проекту: основной ESP32-скетч
  (папка shine_subserver_ui → shine_homeserver_ui, .ino, flash-скрипт, режим burn.sh
  homeserver-ui), скетч lvgl_nav_minimal_test (ключ homeserver.key:<имя>), spec-доки
  reference/*, формат PDA (терминология session_type=100 «Homeserver пользователя»),
  константа SESSION_TYPE_HOMESERVER в JS и Rust (значение 100 не менялось, формат не затронут),
  pending/future доки, AGENTS.md, DAO-док. Сохранены отдельный lvgl_subserver_touch_test и
  историческая пометка о рендейме в DERIVATION.md.
- Новый источник истины по деривации ключей: Dev_Docs/Keys/DERIVATION.md (Argon2id-секрет из
  пароля, формула Ed25519(SHA-256(base64(secret)|suffix)), суффиксы root/bch/dev/homeserver.key,
  Solana-ключ = dev.key). Уточнены роли root (главный/master) и dev (пополняемый кошелёк) в
  Dev_Docs/Keys/README.md.
- UI: убран легаси-путь пустого пароля (derivePasswordSeed и др.), deriveMasterSecretFromPassword
  бросает ошибку на пустом пароле, register-view блокирует пустой пароль; экран пополнения
  переведён на канонический device-адрес из preGeneratedKeyBundle (удалён расходящийся
  deriveWalletFromPassword).

Включены также параллельные правки Solana-аудита №3 (были в рабочем дереве, переплетены в lib.rs):
- shine_users: defense-in-depth «строгий список аккаунтов» (require!(it.next().is_none()))
  в init/update economy config и create/update user PDA, плюс описание в doc/programs/shine_users.md;
- Dev_Docs/audit/Solana-audit-3-by-Claude-12июня2026.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-12 21:16:12 +04:00
..
doc homeserver: рендейм subserver→homeserver, документ деривации ключей, запрет пустого пароля 2026-06-12 21:16:12 +04:00
migrations Отключить репосты и добавить Solana-модуль 2026-05-24 12:16:39 +03:00
programs homeserver: рендейм subserver→homeserver, документ деривации ключей, запрет пустого пароля 2026-06-12 21:16:12 +04:00
scripts Отключить репосты и добавить Solana-модуль 2026-05-24 12:16:39 +03:00
tests Перевести shine_payments на новый program id и подтвердить e2e 2026-06-07 10:00:39 +04:00
.gitignore Отключить репосты и добавить Solana-модуль 2026-05-24 12:16:39 +03:00
.prettierignore Отключить репосты и добавить Solana-модуль 2026-05-24 12:16:39 +03:00
AGENTS.md Переписать shine_payments и обновить тестовый UI с известным багом state 2026-06-06 16:58:57 +04:00
Anchor.toml Перевести shine_payments на новый program id и подтвердить e2e 2026-06-07 10:00:39 +04:00
build.gradle Перевести shine_payments на новый program id и подтвердить e2e 2026-06-07 10:00:39 +04:00
Cargo.lock solana: усилить проверку Pyth oracle в shine_payments 2026-06-10 02:25:45 +04:00
Cargo.toml solana: удалить неиспользуемый модуль common 2026-06-09 22:48:59 +04:00
CLAUDE.md Промежуточный коммит: состояние до нормальной Solana-first регистрации 2026-05-27 18:33:26 +04:00
package-lock.json Отключить репосты и добавить Solana-модуль 2026-05-24 12:16:39 +03:00
package.json Отключить репосты и добавить Solana-модуль 2026-05-24 12:16:39 +03:00
settings.gradle Отключить репосты и добавить Solana-модуль 2026-05-24 12:16:39 +03:00
tsconfig.json Обновить формат Solana user PDA 2026-05-24 19:41:13 +03:00
yarn.lock Отключить репосты и добавить Solana-модуль 2026-05-24 12:16:39 +03:00