6.0 KiB
6.0 KiB
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] - DONE Решить «вверх/вниз» — предмет ставки = цена SOL (ADR-006), валюта = фантики
- TODO Цена SOL: реальный источник вместо
RandomPriceSource(оракул/провайдер) — не блокирует Фазу 1 - TODO Кто держит ликвидность swap и комиссии —
[pump.meta] - TODO Эмиссия: разовая vs постоянная —
[pump.meta]
Фаза 1 — Контракт на токене (ядро) — репо smart-updown-token (копия Smart-game)
- DONE Создана копия контракта
smart-updown-token(ветка main, чистый) — работаем тут - DONE Перевести
create_betс SOL (lamports) на SPL-токен: приём фантиков с ATA игрока на ваулт - DONE Выплата в
close_betфантиками из ATA-ваулта на ATA игрока - DONE
state/constants: единицы = token units (decimals=6), + VAULT_SEED - 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)
- DONE Каркас: Phantom, балансы (фантики+SOL), swap пополнение/вывод через
/api/pump/swap - 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