загрузка...загрузка...FUc28vNixp7F3nnkpGVt6nuJbgvJ4429v4B5wS52Df6P.Система работает в Devnet. Экономика хранится в USD-центах, а реальные переводы происходят в SOL.
+Курс SOL/USD берётся из Pyth прямо в контракте при покупке и при шаге выплаты. Цена проверяется на актуальность (не старше 120 секунд).
+Есть две очереди: очередь 1 и очередь 2. Каждый билет — отдельный PDA с полями: очередь, индекс, получатель, сумма выплаты, флаг выплачен/нет, сумма долга перед билетом.
+Обычная покупка создаёт билет только в очереди 1. Пользователь может ввести сумму в USD или SOL на UI. В контракте сумма переводится по курсу в USD-центы, а выплата билета рассчитывается как purchase_usd_cents * coef.
DAO может выдать менеджеру лимиты на добавление билетов отдельно в очередь 1 и очередь 2. Менеджер создаёт билеты без денежного перевода, но с уменьшением своего доступного лимита.
+Приоритет всегда у очереди 1. Если в очереди 1 нет невыплаченных билетов, идут выплаты очереди 2. Если в процессе выплат очереди 2 снова появляется билет в очереди 1, приоритет возвращается к очереди 1.
+Шаг выплаты: для очереди 1 в DAO уходит 1x от выплаты тикета, для очереди 2 в DAO уходит 2x от выплаты тикета. Дополнительно вызывающий получает награду в SOL.
+Если обе очереди пустые/выплачены — доступный остаток inflow-вольта переводится в DAO (без награды вызывающему).
+Пока регистрация/авто-поток пополнения не завершены, inflow-вольт для выплат пополняется вручную, после чего выполняются шаги выплат.
+shine/doc/SHINE_PAYMENTS_V2.md.
+ Сейчас роль DAO выполняет обычный кошелёк (тестовый режим Devnet).
+Текущий дизайн уже совместим с DAO-заменой: достаточно сменить авторизацию вызовов на DAO-механику без изменения базовой структуры очередей и билетов.
+admin_tools, выполнить init.buy_ticket, купить несколько билетов (часть через USD, часть через SOL).dao_tools, выдать лимиты менеджеру (тем же кошельком).manager_tools, создать билеты в очередь 1 и очередь 2.track_ticket, выполнять шаги выплат до погашения очередей.Пока DAO-governance не подключена, ключевые действия DAO выполняются обычным тестовым кошельком. В production это заменяется голосованием DAO.
+