use lexe_crypto::ed25519;
#[derive(Debug)]
pub struct ReportData([u8; 64]);
impl ReportData {
pub fn new(reportdata: [u8; 64]) -> Self {
Self(reportdata)
}
pub fn from_cert_pk(pk: &ed25519::PublicKey) -> Self {
let mut report_data = [0u8; 64];
report_data[..32].copy_from_slice(pk.as_ref());
Self(report_data)
}
pub fn as_inner(&self) -> &[u8; 64] {
&self.0
}
pub fn into_inner(self) -> [u8; 64] {
self.0
}
pub fn as_slice(&self) -> &[u8] {
self.0.as_slice()
}
pub fn contains(&self, cert_pk: &ed25519::PublicKey) -> bool {
&self.0[..32] == cert_pk.as_slice()
}
}