51 lines
3.0 KiB
Markdown
51 lines
3.0 KiB
Markdown
# 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 по курсу запланирован.
|