69420ab9e4
feat(mse): separate LD lending tokens in spot wallet view
...
LD* assets split into a collapsible sub-table "Lending Tokenları"
below the main spot table, with a note that they mirror Simple Earn positions.
Main spot list stays clean; LD section hidden when empty.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 12:19:45 +03:00
bad653ff2d
feat(mse): earn/futures wallet tabs + 8-decimal price formatting
...
- BinanceClient::get_earn_flexible_balances() — /sapi/v1/simple-earn/flexible/position
- BinanceClient::get_futures_balances() — /fapi/v2/account (fapi.binance.com)
- GET /api/wallet/earn and /api/wallet/futures endpoints
- wallet.html: Earn and Futures tabs now show real data
- fmt() default changed from d=2 to d=8 (trailing zeros stripped) across
bot.html, positions.html, index.html — fixes DOGE showing as 0.10 instead of 0.09849
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 12:11:32 +03:00
799cd53695
feat(mse): wallet page + insufficient balance skip in strategy
...
- BinanceClient::get_usdt_spot_balance() helper
- strategy.rs: check USDT balance before market_buy; skip (Ok(None)) if insufficient
- GET /api/wallet/spot endpoint returning all non-zero spot balances
- /wallet page: Spot tab with sortable balance table (USDT pinned top)
- Earn/Futures tabs as placeholders for future implementation
- Header nav: Cüzdanlar link added
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 12:02:09 +03:00
20732387a6
fix(mse): validate NOTIONAL filter before placing buy order
...
SymbolFilters now parses minNotional from Binance NOTIONAL filter.
strategy.rs checks qty*price >= minNotional before market_buy,
returning a descriptive error instead of letting Binance reject with -1013.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 11:55:46 +03:00
57758d3509
fix(mse): widen left panel to 360px, sell btn → $ icon
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 10:52:57 +03:00
d08ab100c4
feat(mse): add market sell button for open positions
...
- BinanceClient::market_sell() — SELL MARKET order
- sell_position handler: cancel limit order then fire market sell
- bot.html: "Sat" button (yellow) alongside existing ✕ cancel button
- cancel = iptal, coin elde kalır; sat = iptal + anında market satış
- Sell kaydı log'a "sell" level ile düşülür; closed status = SOLD
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 10:50:52 +03:00
2ff8d57c08
feat(mse): shared bot modal component + pagination on positions/bots
...
- Extract bot creation modal to _bot_modal.html partial (TomSelect, min_notional display)
- bots.html and index.html now include the partial via {% include %}
- Remove duplicate modal JS from bots.html; add onBotCreated/onModeChange hooks
- Add 20-item pagination to positions.html (open + closed tables)
- positions.html: remove redundant loadMode (handled by _header.html partial)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 10:45:06 +03:00
d1085cc4cc
fix: lot size floor, mod geçişi, PnL kolonu, iptal butonu, sayfalama, grafik okları
...
- LOT_SIZE: step_size floor + minQty kontrolü (DOGE gibi tam sayı coinler artık çalışır)
- Mod geçişi: _header.html'e setMode() + applyModeUI() eklendi, her sayfada çalışır
- Açık pozisyonlar: anlık PnL % kolonu + Binance'te iptal butonu
- Kapalı işlemler: 20'li sayfalama
- Grafik okları: chart zaman aralığı dışındaki markerlar filtrelendi
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-25 10:33:44 +03:00
15b619efa0
fix(ui): refresh positions on buy/sell log events
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 20:56:46 +03:00
85536093b5
fix(ui): widen left panel to 300px
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 20:48:46 +03:00
dd95a67f45
fix(routes): use tmpl::render for bot detail page
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 20:41:20 +03:00
050cc18051
feat(logs): color-coded log levels for buy/sell/skip events
...
Replace emoji prefixes with dedicated log level types: buy (orange),
sell (green), skip (purple), info (gray). CSS updated in bot.html.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 20:38:09 +03:00
64806dd32e
feat(mse): minijinja template engine, shared header partial
...
- tmpl.rs: OnceLock ile build-time compile edilmiş minijinja env
- _header.html: ortak header partial — logo, nav (active_page değişkeni), mode-toggle, çıkış
- index.html, bots.html, positions.html: hardcoded header → {% include "_header.html" %}
- bots.html: + Yeni Bot butonu header'dan page-toolbar'a taşındı
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 20:26:15 +03:00
5db9332157
feat(mse): unified header, testnet order tracking, bot restart on update
...
- Ortak header yapısı: logo sol, nav orta (Dashboard/Botlar/Pozisyonlar), mode+çıkış sağ — index.html, bots.html, bot.html hepsinde aynı
- positions.html eklendi (yeni /positions sayfası)
- runner.rs: 30s periyodik order status sorgusu — FILLED/CANCELED pozisyonları closed_positions'a taşır, open_positions'dan siler
- update_bot: çalışan bot varsa durdur + yeni config ile yeniden başlat
- initChart guard: çift grafik oluşmasını engeller
- routes.rs: /positions route eklendi, unused import temizlendi
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 20:19:56 +03:00
3a54d7f437
feat(mse): cookie auth, bot detail page, chart with markers
...
- Cookie-based auth: bcrypt password hash, SQLite sessions
- Multipage routing: /, /dashboard, /bots/:id with server-side auth check
- bot_logs table + SSE log streaming per bot
- Bot detail page: Binance chart (LW Charts), position markers/price lines, live log terminal
- Chart always uses live Binance data regardless of bot mode
- Position buy markers on correct candle via timeframe offset
- Open positions: green target price line; closed: buy/sell arrow markers
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-19 12:22:00 +03:00
e2e5b2e6c6
fix: bot oluştururken sembol USDT ile biter, runner temizlendi
2026-04-19 10:42:36 +03:00
c23c08d1e6
fix: WS stream sembol adına USDT ekle
2026-04-19 10:40:45 +03:00
3e2491e1f8
fix: sembol listesi ve WS stream her zaman canlı Binance'tan
2026-04-19 10:39:51 +03:00
5a43e42a0e
feat: WS kline stream, çıkış butonu, client temizliği
2026-04-19 10:33:50 +03:00
e5e8fe02e0
feat: favicon ve sayfa başlığı güncelleme
2026-04-19 07:56:07 +03:00
43d6cd3cc2
fix: route path param :id syntax (Axum 0.7 compat)
2026-04-19 07:54:10 +03:00
0505055e4d
fix: mod değişiminde her iki yönde de uyarı
2026-04-19 07:47:35 +03:00
49b9a95f39
fix: CryptoFox ve Mukan Edition yatay ortalama
2026-04-19 07:44:10 +03:00
d1857c0e19
fix: logo + CryptoFox/Mukan Edition alt alta düzeni
2026-04-19 07:42:23 +03:00
a6b9f093c1
fix: MUKAN EDITION büyük harf
2026-04-19 07:39:21 +03:00
eb45561d5b
fix: Mukan Edition dikey ortalama ve köşeli parantez
2026-04-19 07:38:56 +03:00
b027cb5e64
feat: header logo renkleri ve Mukan Edition alt yazı
2026-04-19 07:37:29 +03:00
01cd32d960
feat: header logo + CryptoFox Mukan Edition başlık, SSE label aktif
2026-04-19 07:34:45 +03:00
b5763d0e81
feat: testnet/live mod toggle, çift API key desteği
2026-04-19 07:23:21 +03:00
2a6c9620f7
fix: tomselect maxOptions false, tüm coinler listelenir
2026-04-19 07:04:42 +03:00
665583d11b
fix: tomselect dropdown scroll ve step=1 usdt input
2026-04-19 07:03:17 +03:00
43562be810
fix: usdt input min validasyonu
2026-04-19 06:56:07 +03:00
f288eee5af
fix: TomSelect koyu tema CSS override
2026-04-19 06:53:43 +03:00
ef4aabafb5
feat: modal ile bot ekleme, TomSelect minChars 0
2026-04-19 06:50:00 +03:00
4104d82ef0
feat: TomSelect ile coin seçici
2026-04-19 06:45:38 +03:00
0ba182834b
feat: coin seçici dropdown + otomatik minNotional
2026-04-19 06:41:58 +03:00
a68dc599a9
init: CryptoFox Mukan Edition — sunucu tabanlı RedCandle bot
...
Tauri/desktop bağımlılıkları çıkarıldı, Axum HTTP server + SSE ile
web dashboard eklendi. Bot yönetimi, açık/kapalı pozisyon takibi.
2026-04-19 06:15:05 +03:00