Slice 0 (Fable-Fixes): IClobClient-Seam fuer testbare CLOB-Interaktionen

Verhaltensneutrale Testinfrastruktur als Grundlage fuer Slice 1/2:
- IClobClient-Interface (Core) ueber die von Leiter/Reconciliation genutzten
  CLOB-Methoden (Place/CancelConflicting/GetOpenOrders/CancelOrder).
- PolymarketClobClient implementiert IClobClient (Signaturen unveraendert).
- DI-Seam im Modul: IClobClient -> PolymarketClobClient-Singleton.
- SellLadderService haengt jetzt an IClobClient (statische CalculateExactOrderAmounts
  bleibt am konkreten Typ).
- InternalsVisibleTo(PolyTrader.Tests) + FakeClobClient-Test-Double.

Verifikation: Build 0 Fehler, 207 Tests gruen, --smoke-ui Container-Aufbau ok.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Richard
2026-07-09 11:53:12 +02:00
co-authored by Claude Opus 4.8
parent bb929fa23a
commit ad8f7b0d03
6 changed files with 108 additions and 3 deletions
@@ -27,7 +27,7 @@ namespace PolyTraderSharp.Services
private readonly CopyTradingState _copyState;
private readonly TradingState _state;
private readonly PolymarketClobClient _clob;
private readonly IClobClient _clob;
private readonly TerminalLogger _logger;
private readonly ThreemaService _threema;
private readonly IPositionRepository _positionRepo;
@@ -35,7 +35,7 @@ namespace PolyTraderSharp.Services
public SellLadderService(
CopyTradingState copyState,
TradingState state,
PolymarketClobClient clob,
IClobClient clob,
TerminalLogger logger,
ThreemaService threema,
IPositionRepository positionRepo)