INNER CODE UNIT · Rust
from_bytes
CympleTech/ESSE · types/data/src/lib.rs:55
pub fn from_bytes(bytes: &[u8]) -> Result<Self, ()> {
if bytes.len() < 84 + T::len() + T::proof_len() {
return Err(());
}
let mut did_bytes = [0u8; 32];
did_bytes.copy_from_slice(&bytes[0..32]);
let mut pid_bytes = [0u8; 32];
pid_bytes.copy_from_slice(&bytes[32..64]);
let pid = if pid_bytes == [0u8; 32] {
None
} else {
Some(pid_bytes)
};
let mut start_bytes = [0u8; 8];
start_bytes.copy_from_slice(&bytes[64..72]);
let start_time = i64::from_le_bytes(start_bytes);