namespace MarketInsights { public class MarketOverview { /// /// Moment when overview was last updated. /// public DateTime LastUpdatedUtc { get; set; } /// /// When false, service is busy processing history in order to catch up to the present. /// public bool IsUpToDate { get; set; } public MarketTimeSegment[] TimeSegments { get; set; } = Array.Empty(); } /// /// Segment of time over which market statistics are available. /// public class MarketTimeSegment { /// /// Start of time segment. /// public DateTime FromUtc { get; set; } /// /// End of time segment. /// public DateTime ToUtc { get; set; } /// /// Averages over contracts that were submitted during this time segment. /// public ContractAverages Submitted { get; set; } = new(); /// /// Averages over contracts that expired during this time segment. /// public ContractAverages Expired { get; set; } = new(); /// /// Averages over contracts that started during this time segment. /// public ContractAverages Started { get; set; } = new(); /// /// Averages over contracts that finished (succesfully) during this time segment. /// public ContractAverages Finished { get; set; } = new(); /// /// Averages over contracts that failed during this time segment. /// public ContractAverages Failed { get; set; } = new(); } public class ContractAverages { /// /// Number of contracts. /// public int Number { get; set; } /// /// Average price of contracts. (TSTWEI) /// public float Price { get; set; } /// /// Average size of slots in contracts. (bytes) /// public float Size { get; set; } /// /// Average duration of contracts. (seconds) /// public float Duration { get; set; } /// /// Average collateral of contracts. (TSTWEI) /// public float Collateral { get; set; } /// /// Average proof probability of contracts. /// public float ProofProbability { get; set; } } }