using System;
namespace StellaOps.Excititor.Attestation.Verification;
public sealed class VexAttestationVerificationOptions
{
    private TimeSpan _maxClockSkew = TimeSpan.FromMinutes(5);
    /// 
    /// When true, verification fails if no transparency record is present.
    /// 
    public bool RequireTransparencyLog { get; set; } = true;
    /// 
    /// Allows verification to succeed when the transparency log cannot be reached.
    /// A diagnostic entry is still emitted to signal the degraded state.
    /// 
    public bool AllowOfflineTransparency { get; set; }
    /// 
    /// Maximum tolerated clock skew between the attestation creation time and the verification context timestamp.
    /// 
    public TimeSpan MaxClockSkew
    {
        get => _maxClockSkew;
        set => _maxClockSkew = value < TimeSpan.Zero ? TimeSpan.Zero : value;
    }
}