SHiNE-server/shine-solana/shine
AidarKC cf6a2830c8 solana: закрыть griefing создания PDA и заморозку выплат, добавить аудит №2
shine_payments + shine_users:
- create_pda_account переведён на «создание поверх предзаполненного»
  (allocate+assign+добор ренты), чтобы подсев лампортов на детерминированный
  адрес PDA (тикет/логин) не блокировал создание — закрыт LOW из аудита №1;
  в shine_payments is_uninitialized_account перестала зависеть от баланса.

shine_payments (HIGH из аудита №2):
- запрещён recipient == inflow_vault в buy_ticket*, manager_add_ticket и
  change_ticket_recipient; добавлена защита по умолчанию в transfer_from_vault
  (require vault.key != recipient.key). Это убирает алиасинг аккаунта в
  step_payout, который навсегда замораживал очередь выплат и средства вольта.

Документация и учёт:
- doc/programs/shine_payments.md §3.4, §10.1; doc/programs/shine_users.md §3.3;
- Dev_Docs/audit: добавлен аудит №2, обе закрытые находки помечены ИСПРАВЛЕНО;
- Dev_Docs/Pending_Features: две записи на ручную e2e-проверку на devnet;
- VERSION.properties: client 1.2.161, server 1.2.150.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 04:10:31 +04:00
..
doc solana: закрыть griefing создания PDA и заморозку выплат, добавить аудит №2 2026-06-11 04:10:31 +04:00
migrations Отключить репосты и добавить Solana-модуль 2026-05-24 12:16:39 +03:00
programs solana: закрыть griefing создания PDA и заморозку выплат, добавить аудит №2 2026-06-11 04:10:31 +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