use super::super::trace_types::OracleResult;
use super::OracleTraceRecord;
impl OracleResult {
pub fn to_record(&self) -> OracleTraceRecord {
match self {
Self::Golden(trace) => OracleTraceRecord {
verdict: "golden".into(),
reason: None,
agreement_ratio: None,
trace: trace.clone(),
},
Self::Consensus {
trace,
agreement_ratio,
} => OracleTraceRecord {
verdict: "consensus".into(),
reason: None,
agreement_ratio: Some(*agreement_ratio),
trace: trace.clone(),
},
Self::Unverified { reason, trace } => OracleTraceRecord {
verdict: "unverified".into(),
reason: Some(reason.clone()),
agreement_ratio: None,
trace: trace.clone(),
},
Self::Failed { reason, trace, .. } => OracleTraceRecord {
verdict: "failed".into(),
reason: Some(reason.clone()),
agreement_ratio: None,
trace: trace.clone(),
},
}
}
}