Files
pump-game-ops/TASKS.md
T

75 lines
6.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.
# TASKS.md — список задач (трекер проекта)
Здесь живёт **весь** список задач — не только мои. Трекаем проект целиком. Бинарные составляющие:
- фаркул/pivotable-задачи (что можно отложить или развернуть иначе) помечаются `[pivotable]`;
- общие/инфра (деплой, стабильность, мок) — `[pump.meta]`.
**Статусы:** `TODO` / `IN_PROGRESS` / `DONE` / `BLOCKED`.
---
## ⭐ Актуальное состояние (2026-09-09)
**Где мы:** Фаза 1 (контракт переведён на фантики) — **DONE**. Сейчас вход в **Фазу 2 (релейер под токен)**.
**Готово:**
- Контракт `smart-updown-token` — переведён на SPL-токен (фантики), IDL+тесты обновлены. Коммит `45d64d4`.
- Ktor swap-клиент в бэкенде (ввод/вывод) — заготовка.
- Тестовый фронт `test-front` — каркас (Phantom, балансы, пополнение/вывод).
**В работе / вперёд:**
- **Фаза 2 (активная):** релейер перевести с SOL на токен (ops/pda/config). После неё + E2E на localnet.
- **Веха «первый щуп»:** 👉 *как только релейер на фантиках + E2E на localnet прогнаны — через `test-front` вы самостоятельно щупаете: пополнить фантики → ставка → результат.* Это первый реальный user-тест (без Unity).
**Параллельные TODO (не блокируют Фазу 2):** реальная цена (вместо RandomPriceSource), эмиссия, ликвидность/комиссии swap.
---
## Фаза 0 — Экономика и спека (кросс)
- [ ] **TODO** ADR-002 зафиксирован, документировать `ECONOMY.md`: токен, курс (Способ 1), decimals=6, mint-адреса — `[pump.meta]`
- [x] **DONE** Решить «вверх/вниз» — предмет ставки = цена SOL (ADR-006), валюта = фантики
- [ ] **TODO** Цена SOL: реальный источник вместо `RandomPriceSource` (оракул/провайдер) — не блокирует Фазу 1
- [ ] **TODO** Кто держит ликвидность swap и комиссии — `[pump.meta]`
- [ ] **TODO** Эмиссия: разовая vs постоянная — `[pump.meta]`
## Фаза 1 — Контракт на токене (ядро) — репо `smart-updown-token` (копия Smart-game)
- [x] **DONE** Создана копия контракта `smart-updown-token` (ветка main, чистый) — работаем тут
- [x] **DONE** Перевести `create_bet` с SOL (lamports) на SPL-токен: приём фантиков с ATA игрока на ваулт
- [x] **DONE** Выплата в `close_bet` фантиками из ATA-ваулта на ATA игрока
- [x] **DONE** `state`/`constants`: единицы = token units (decimals=6), + VAULT_SEED
- [x] **DONE** Обновить IDL (idl/ + relayer/idl/) + Anchor-тесты (10/10) — коммит 45d64d4
- [ ] **TODO** Развернуть/поднять localnet стенд для E2E токен-флоу (приёмка на железе)
## Фаза 2 — Релейер и цена (АКТИВНАЯ — следующий шаг)
- [ ] **IN_PROGRESS** SolanaClient/ops: подписывать/отправлять токеновую ставку (ATA + ваулт) — перевести релейер с SOL на токен
- [ ] **TODO** readGlobal: баланс vault_token вместо SOL; ensureVaultFunded — наливать токен в vault
- [ ] **TODO** PriceSource: реальная цена (вместо RandomPriceSource)
- [ ] **TODO** Интеграционный тест релейера на токеновом флоу
## Фаза 4 — Бэкенд: задействовать swap
- [ ] **DONE** Ktor `PumpApiClient` + `POST /agents/swap` + DTO + заготовка (в `smart-updown-server`)
- [ ] **TODO** Проверить реальный swap на devnet (не мок)
- [ ] **TODO** Обвязать `GameService`: ввод/вывод фантиков через swap
## Фаза 5 — Фронт (Unity)
- [ ] **TODO** Кнопки «Пополнить»/«Вывести», баланс в фантиках
- [ ] **TODO** SolanaBridge.jslib: подпись токеновой create_bet (ATA игрока в ключах)
- [ ] **TODO** Wallet.cs: баланс в фантиках (ATA + getTokenAccountBalance), CanAfford по токену
## Фаза 5b — Тестовый фронт (`test-front`, для ручной гонки экономики без Unity)
- [x] **DONE** Каркас: Phantom, балансы (фантики+SOL), swap пополнение/вывод через `/api/pump/swap`
- [x] **DONE** Ставка вверх/вниз через контракт с поллингом до SETTLED
- [ ] **TODO** Перевести подпись под токеновую версию контракта (после Фазы 1)
- [ ] **TODO** Реальный провайдер цены вместо RandomPriceSource (за нами)
- [ ] **TODO** Развернуть / дать постоянный URL (nginx/podman) — удобно открывать
## Фаза 6 — E2E и деплой
- [ ] **TODO** Полный круг на devnet: создать токен → swap ввод → ставка токеном → раунд → вывод
- [ ] **TODO** Обновить `API.md`/`INTEGRATION.md`, развернуть на mainnet
- [ ] **TODO** Стабильность: версионировать конфиги, mint-адрес в конфиге
---
## Ссылки
- Решения/экономика: `docs/DECISIONS.md`, `docs/ECONOMY.md`
- Карта репозиториев: `README.md`