using System.Threading; using System.Threading.Tasks; namespace PolyTrader.Modules.ResolutionFarming.Services { /// /// Quelle für den Auflösungsstatus eines Marktes. Trennt den (live-/API-gebundenen) Resolution-Check /// von der Close-Orchestrierung, damit der Monitor ohne echte API testbar ist. Live-Implementierung /// wickelt PolymarketApiService.CheckMarketResolutionAsync um (Zielland-Verdrahtung). /// public interface IMarketResolutionSource { Task<(bool isClosed, bool isWinner)> CheckAsync(string marketSlug, string tokenId, CancellationToken ct); } /// Platzhalter: nie aufgelöst. Hält den Monitor lauffähig, bis die Live-Quelle registriert ist. public sealed class NullMarketResolutionSource : IMarketResolutionSource { public Task<(bool isClosed, bool isWinner)> CheckAsync(string marketSlug, string tokenId, CancellationToken ct) => Task.FromResult((false, false)); } }