Commit Graph
10 Commits
Author SHA1 Message Date
RichardandClaude Opus 4.8 88fc982089 Phase 5.3-ClosedTrade: ClosedTrade -> Modul + ICopyTradeLogRepository
- ClosedTrade (+ ClosedTradeRow) nach src/PolyTrader.Modules.CopyTrading/Models/.
- Neues ICopyTradeLogRepository (+ Mongo-Impl) im Modul: EnsureIndexes, Exists,
  Insert, Find(predicate) auf der closed_trades-Collection.
- closed_trades-Zugriffe der Modul-Services vom App-Shim auf das Repo umgestellt:
  TraderMonitorService, PersistenceService, PolymarketWssClient, TraderAnalyticsJob.
  Shim-/DB-Usings dort entfernt.
- TraderMonitorService nutzt kein _db mehr (auch die uebrigen _db-Guards aus 3d
  entfernt, da Repos immer verfuegbar sind). Verhaltensneutral.
- frm_main (UI) + Program.cs (BsonDocument-Cleanup) bleiben auf _db.
- Build 0 Fehler.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 22:27:22 +02:00
RichardandClaude Opus 4.8 3be75c0f05 Phase 5.3-WSS (1/2): Core-WSS-Verbindungsklasse extrahiert
- Neu in PolyTrader.Core.Streaming: IBlockchainWssClient + AlchemyWssClient
  (+ Factory) und Modelle (BlockchainWssSubscription/LogSubscriptionFilter/
  BlockchainLogEvent). Domänen-agnostisch: Connect, eth_subscribe, Receive-Loop,
  Decode; Reconnect/Gating/Filter bleiben beim Aufrufer.
- AlchemyWebsocketService (weiter in App) nutzt jetzt den Core-Client via Factory:
  baut Filter aus getrackten Trader-Wallets, konsumiert OnLog, triggert Poll.
  ExecuteAsync-Reconnect/Backoff/Gating unverändert. Verhaltensneutral.
- Factory in DI registriert.
- Build 0 Fehler.

Naechster Teil: Modul-Listener (eigener Key+Filter) nach Modul-Umzug.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 22:15:34 +02:00
RichardandClaude Opus 4.8 7e189fec54 Docs: WSS/Streaming-Architektur festgehalten (Core-Verbindungsklasse, Modul-Instanzen)
- Neue Sektion 2.7: Core stellt wiederverwendbare WSS-Verbindungsklasse bereit
  (Factory, keine geteilten Singleton-Streams); jedes Modul erzeugt eigene
  Instanz mit eigenem API-Key + eigenem Filter (Streams sind modulspezifisch
  gefiltert). AlchemyWebsocketService wird entsprechend aufgeteilt.
- API-Keys wandern von globaler ServerSettings in die Modul-Settings.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 22:08:35 +02:00
RichardandClaude Opus 4.8 f5e7eaf2d5 Phase 5.3a: MarketSyncService in den Core
- Nach dem TradingState-Split nutzt MarketSyncService nur noch Core-State
  (MarketCache) + IMarketRepository + Core-API-Service -> sauber in den Core.
- Ungenutzten Shim-Import entfernt. Build 0 Fehler.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 20:31:35 +02:00
RichardandClaude Opus 4.8 43fdc9d181 Docs: Phase 5.1/5.2 abgeschlossen (Modulgrenze via TradingState-Split gezogen)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 20:15:44 +02:00
RichardandClaude Opus 4.8 f8d395b2a3 Phase 5.2: TradingState-Split (Core-State vs. CopyTradingState)
- Core TradingState (in Core): globale Schalter, Accounts, MarketCache, GlobalPnl.
- Neuer CopyTradingState (im Modul): Traders, MasterTraderPositions,
  TraderAnalyticsCache, TotalCopyTrades/GetNextTradeId, PendingOrderTimestamps,
  SixSharesMinimum.
- 10 Konsumenten umgestellt (Program, frm_main, CopyTradingEngine,
  TraderMonitor, Alchemy, WSS, Snapshot, StartupHydration, beide Analytics-Jobs):
  Modul-Felder von _state.* auf _copyState.* umgeleitet, CopyTradingState via DI.
- Rein mechanische Feld-Umleitung, keine Logikänderung. Build 0 Fehler.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 20:09:50 +02:00
RichardandClaude Opus 4.8 55050a19e5 Phase 5.1: Modul-Modelle in das CopyTrading-Modul
- TrackedTrader, TraderAnalyticsResult, MasterTraderHistoryRecord nach
  src/PolyTrader.Modules.CopyTrading/Models/ (Namespace beibehalten).
- Ungenutzte Shim-/DB-Usings entfernt (BsonId kommt transitiv via Core).
- Build bestätigt: kein Core-Code referenziert diese Modelle (saubere Grenze).
- Build 0 Fehler. Voraussetzung für den CopyTradingState (5.2).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 19:59:40 +02:00
RichardandClaude Opus 4.8 b18f013f20 Docs: Phase 4 abgeschlossen (soweit ohne TradingState-Split möglich)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 19:53:26 +02:00
RichardandClaude Opus 4.8 0ffc0413c8 Phase 4.7: MullvadVpnService + ThreemaService in den Core
- Beide Services nach Core (nutzen nur TerminalLogger/ServerSettings/JobManager,
  keine DB/TradingState/Modul-Typen).
- Threema-ProjectReference von App -> Core umgehängt (App nutzte die Lib nur
  über ThreemaService).
- Microsoft.Extensions.Hosting.Abstractions als Core-Paket (BackgroundService).
- Toten Stub services/mullvad.cs gelöscht; Mullvad-DB-Usings entfernt.
- Build 0 Fehler.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 19:51:52 +02:00
RichardandClaude Opus 4.8 9c068b448e Phase 4.6a: CopySignal + PolymarketApiService in den Core
- CopySignal als generischer Core-Typ (Namespace PolyTraderSharp.Models beibehalten).
- PolymarketApiService nach Core (nutzt nur TerminalLogger + HttpClient,
  keine DB); ungenutzte DB-Usings entfernt.
- Build 0 Fehler.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 19:47:28 +02:00