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