Files
trade-doc/todo.md

38 lines
1.7 KiB
Markdown

# Trade App PG Migration TODO
Cel: trzymać `trade app` wyłącznie na danych z naszego Postgresa (`raw` / `derived`), bez zależności od legacy
agregatów `dlob_l2_latest`, `dlob_stats_latest`, `dlob_depth_bps_latest`, `dlob_slippage_latest`.
## Stan docelowy
- wykresy zostają na `trade-api /v1/chart`
- orderbook i KPI DLOB czytają `dlob_hot_snapshot_latest`, `dlob_hot_derived_latest` albo `dlob_all_derived_latest`
- depth bands i slippage są liczone w frontendzie z tego samego L2 z Postgresa
- po drugiej fazie można wyciąć z app-path `dlob-server`, `dlob-worker`, `dlob-depth-worker`, `dlob-slippage-worker`
- ścieżka `hot` zostaje dla execution/debug, nie dla głównego widoku `trade app`
## Plan
- [x] Faza 1: przepiąć `useDlobStats` i `useDlobL2` na `raw` / `derived` z filtrem `is_indicative=false`
- [x] Faza 2: przepiąć `useDlobDepthBands` i `useDlobSlippage` off legacy tabel i liczyć je bezpośrednio z orderbooka z Postgresa
- [ ] Faza 3: jeśli będzie potrzebne, przenieść te same obliczenia do backendu / ts writerów jako cache lub time series
- [ ] Faza 4: usunąć z app-path zależność od `dlob-server` i workerów legacy po potwierdzeniu zgodności UI
## Mapowanie fazy 1
- `best_bid_price` -> `bestBid`
- `best_ask_price` -> `bestAsk`
- `mid_price` -> `mid`
- `spread_quote` -> `spreadAbs`
- `spread_bps` -> `spreadBps`
- `depth_bid_quote` -> `depthBidUsd`
- `depth_ask_quote` -> `depthAskUsd`
- `bids_norm` / `asks_norm` albo `bids` / `asks` -> orderbook L2
## Uwaga
- UI powinno czytać tylko `is_indicative=false`
- `hot` ma preferować raw (`dlob_hot_snapshot_latest`) tam, gdzie potrzebna jest pełna drabinka
- `all` ma czytać `dlob_all_derived_latest`
- frontend nie powinien zależeć od legacy tabel agregatowych