shine-solana/shine/doc/SHINE_PAYMENTS_TEST_PLAN.md

3.0 KiB
Raw Blame History

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 по курсу запланирован.