INNER CODE UNIT · Rust
verify
logannye/rosalind · crates/receipt-wasm/src/lib.rs:12
pub fn verify(json: &str) -> String {
let check = verify_manifest_str(json);
let verdict = match check.verdict {
ReceiptVerdict::Verified => "intact",
ReceiptVerdict::Tampered => "tampered",
ReceiptVerdict::Unverifiable => "unverifiable",
ReceiptVerdict::Unparseable => "unparseable",
};
format!(
"{{\"verdict\":\"{}\",\"detail\":\"{}\",\"self_hash_ok\":{},\"measurement_hash_ok\":{},\"schema_version\":{},\"subcommand\":{}}}",
verdict,
json_escape(&check.detail),
tri_bool(check.self_hash_ok),
tri_bool(check.measurement_hash_ok),
check
.schema_version
.map(|v| v.to_string())
.unwrap_or_else(|| "null".to_string()),