using System.Text.Json.Serialization; namespace LibMatrix.Federation.FederationTypes; public class FederationEvent : MatrixEventResponse { [JsonPropertyName("auth_events")] public required List AuthEvents { get; set; } = []; [JsonPropertyName("prev_events")] public required List PrevEvents { get; set; } = []; [JsonPropertyName("depth")] public required int Depth { get; set; } } public class SignedFederationEvent : FederationEvent { [JsonPropertyName("signatures")] public required Dictionary> Signatures { get; set; } = new(); [JsonPropertyName("hashes")] public required Dictionary Hashes { get; set; } = new(); } public class FederationEphemeralEvent { [JsonPropertyName("edu_type")] public required string Type { get; set; } [JsonPropertyName("content")] public required Dictionary Content { get; set; } = new(); }