# Stage 04.3 — Repositories & Balance Snapshots

## Цель
Сделать storage частью бизнес-логики:
- вынести SQL в repositories
- добавить слой AccountsService
- начать сохранять состояние системы (snapshots)

---

## Что реализовано

### Repository слой

Добавлены:

#### 1. BalanceSnapshotRepository
Работа с таблицей `balance_snapshots`:

- `add_snapshot` — сохранение снимка баланса
- `count_snapshots`
- `list_recent_snapshots`

---

#### 2. OrderDraftRepository
Подготовка к order flow:

- `add_draft`
- `list_recent_drafts`
- `count_drafts`

(используется на следующих этапах)

---

### Service слой

Добавлен:

#### AccountsService

Функции:
- получение live баланса через ExchangeService
- сохранение snapshot в PostgreSQL
- логирование через Journal

```text
exchange → accounts service → repository → database