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));
}
}