mirror of
https://github.com/michaelshimeles/terminal.git
synced 2026-11-07 05:56:17 -10:00
New tr-broker crate:
- Signed SnapTrade client (clientId + timestamp query, base64 HMAC-SHA256
Signature over canonical {content,path,query}) on the canonical root paths:
register user, read-only Connection Portal link, accounts, balances,
positions (all instrument kinds), orders (30 days), activity (90 days)
- Portfolio model with lenient decimal parsing, unrealised P&L for longs,
shorts and option multipliers, totals repriced with live quotes, market-key
mapping, OCC option labels
- Credentials in the macOS Keychain or an owner-only (0600) file, SNAPTRADE_*
environment overrides, redacted Debug, URL-scrubbed errors
- Deterministic simulated portfolio for offline mode / TR_BROKER=sample
App:
- Portfolio pane with Summary, Accounts, Positions, Orders and Activity views
(PORT, ACCT, POS, ORD, ACTV; AAPL POS filters; F7/F8/F9), account picker,
sortable responsive tables, click to chart, right-click OMON/news/Congress
- Setup screen when unconfigured; Settings > Brokerage for keys, user
registration, Connect Brokerage (browser), Test Connection, Forget
- Sidebar Portfolio section with value and open-order badges; help rows
- New default hotkeys never take a chord the user already bound
- Tests: signatures checked against Python-computed values, mock SnapTrade
server verifying every request, parsing fixtures, P&L, storage, views
- README: brokerage feature, setup and security notes, shortcuts, screenshots
Co-Authored-By: Claude Opus 5.5 <[email protected]>
21 KiB
680x330px
21 KiB
680x330px