66 lines
5.7 KiB
Markdown
66 lines
5.7 KiB
Markdown
# DECISIONS.md — журнал решений (ADR)
|
|
|
|
Каждое решение — короткая запись, чтобы потом не гадать, почему всё устроено так.
|
|
Формат: дата, статус (принято/рассмотрение/заменено), суть, аргументы за/против, результат.
|
|
|
|
---
|
|
|
|
## ADR-001 — Используем свой токен на pump.fun (мемкойн Binary Rocket)
|
|
- **Дата:** 2026-09-09
|
|
- **Статус:** принято
|
|
- **Суть:** выпускаем СВОЙ токен на pump.fun, а не пользуемся чужим.
|
|
- **За:** бренд/маркетинг, контроль экономики, стимул игрокам, единая валюта ставок.
|
|
- **Против:** надо эмитировать и следить за курсом; чужой токен дал бы меньше работы.
|
|
- **Решение:** свой токен. decimals = 6, Token-2022, создание через `create_v2` (по доке pump.fun).
|
|
|
|
## ADR-002 — Курс живой рыночный (Способ 1)
|
|
- **Дата:** 2026-09-09
|
|
- **Статус:** принято
|
|
- **Суть:** вне игры баланс — в фантиках, курс берётся с рынка (bonding curve/AMM pump.fun).
|
|
Ввод = swap SOL→фантики, вывод = swap фантики→SOL. Никакой фикс-привязки/стейблока.
|
|
- **За:** нативно pump.fun, привычно игроку-трейдеру, технически проще, маркетинг (рост/падение токена).
|
|
- **Против:** баланс «гуляет» с рынком; определённым аудиториям неудобно.
|
|
- **Решение:** Способ 1. (Это и диктует, что ставки идут фантиками через контракт.)
|
|
|
|
## ADR-003 — Ставки идут фантиками через контракт
|
|
- **Дата:** 2026-09-09
|
|
- **Статус:** принято (вытекает из ADR-002)
|
|
- **Суть:** игрок ставит токен, контракт держит фантики в своём ATA-ваулте и платит фантиками.
|
|
- **Следствие:** контракт переводится с нативного SOL (lamports) на SPL-токен — это ядро Фазы 1.
|
|
- **Против:** трогаем хорошо работающий контракт; но без этого сценарий ввода-игры-вывода не работает.
|
|
|
|
## ADR-004 — Ввод/вывод через pump.fun swap (`POST /agents/swap`)
|
|
- **Дата:** 2026-09-09
|
|
- **Статус:** принято
|
|
- **Суть:** пополнение = `inputMint: NATIVE_MINT(SOL), outputMint: наш_mint`; вывод = наоборот.
|
|
Клиент на бэкенде (Ktor `PumpApiClient`) уже готов в `smart-updown-server`.
|
|
- **За:** возвращает готовую подписанную swap-транзакцию, бэкенд не держит ликвидность.
|
|
- **Против:** весь ввод/вывод завязан на доступность pump.fun API.
|
|
|
|
## ADR-05 (идея) — мета-репозиторий для документации и трекинга
|
|
- **Дата:** 2026-09-09
|
|
- **Статус:** принято
|
|
- **Суть:** создать `pump-game-ops`, где живут карта репозиториев, решения, экономика и список задач.
|
|
- **За:** единая точка оркестрации, не плаваем по чату. **Против:** риск превратиться во второй трекер.
|
|
|
|
---
|
|
|
|
## ADR-005 — Флоу входа/вывода подтверждён (как описал юзер)
|
|
- **Дата:** 2026-09-09
|
|
- **Статус:** принято
|
|
- **Суть:** человек заходит в игру → видит баланс 0 → кнопка «Пополнить» (одна, без выбора) →
|
|
swap SOL→фантики → баланс появляется → ставит фантики через контракт (честное списание/начисление
|
|
по исходу) → при выходе нажимает «Вывести» → swap фантики→SOL, баланс уменьшается.
|
|
- **За:** точный пользовательский сценарий, подтверждённый владельцем; простая UX-модель.
|
|
- **Решение:** именно так и работаем — это источник требований для Фазы 1 (контракт на токене) и Фазы 5 (UI).
|
|
|
|
---
|
|
|
|
### Развилки, которые ещё предстоит решить (не закрыты) — ТРЕБУЮТ решения до старта Фазы 1
|
|
- **Цена «вверх/вниз»:** контракт сравнивает entry/exit_price — что это: цена нашего фантика,
|
|
цена SOL или отдельный бенчмарк? (единственное реальное белое пятно перед контрактной работой).
|
|
- **Эмиссия:** разовая (скрипт для основного коина) или постоянная (рабочий процесс эмиссии в бэкенде).
|
|
- **Кто держит ликвидность swap** на старте и межторговая комиссия pump.fun — чей счёт.
|
|
- **Финальное имя/символ токена** и URI метаданных (для `create_v2`).
|
|
|
|
> Открытые пункты помечены в TASKS.md как `BLOCKED`/`pivotable` — не замечать походу. |