shine-solana/shine/doc/SHINE_PAYMENTS_TEST_PLAN.md

51 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# SHINE Payments v2: тестовый план (Devnet)
## Цель
Проверить:
1. создание PDA и инициализацию;
2. покупку обычных билетов (очередь 1);
3. выдачу DAO-лимитов менеджеру;
4. создание менеджерских билетов в очередь 1 и 2;
5. корректный приоритет выплат (очередь 1 > очередь 2);
6. перевод средств в DAO и награды вызывающему шаг выплат.
## Сценарий А: один кошелек
1. Открыть `admin_tools`, выполнить `init`.
2. В `buy_ticket` купить несколько билетов в очередь 1.
3. В `dao_tools` (тем же кошельком, если он DAO) выдать лимиты менеджеру.
4. В `manager_tools` создать билеты в очередь 1 и 2.
5. Пополнить inflow-вольт вручную.
6. В `track_ticket` запускать шаг выплат и смотреть, что:
- сначала платится очередь 1;
- после исчерпания очереди 1 платится очередь 2;
- если в процессе снова появился билет в очереди 1, приоритет возвращается к ней.
## Сценарий Б: разные кошельки
1. Кошелек DAO: выдает лимиты менеджерам.
2. Кошелек менеджера: добавляет тикеты через `manager_add_ticket`.
3. Кошельки покупателей: покупают обычные билеты.
4. Любой кошелек: вызывает `step_payout`.
## Проверка результата
1. У получателей тикетов растут балансы.
2. В DAO поступает симметричная сумма `X` при каждом шаге выплаты.
3. Вызывающий шаг выплат получает фиксированную награду.
4. Агрегаты очередей (`total/paid/sum_total/sum_paid`) изменяются ожидаемо.
## Возврат средств после теста
1. Перевести остатки SOL с тестовых кошельков на исходный кошелек.
2. При необходимости закрыть неиспользуемые program-аккаунты и вернуть ренту.
3. Проверить, что ключевые кошельки и devnet-параметры не содержат лишних средств/прав после завершения теста.
## Ограничения текущего этапа
1. DAO пока заменен обычным кошельком.
2. Финальный governance (голосование DAO) не подключен.
3. Расчеты пока в SOL/lamports, переход на USDT по курсу запланирован.