INNER CODE UNIT · Rust
inspect_receipt
logannye/rosalind · crates/receipt-wasm/src/lib.rs:36
pub fn inspect_receipt(json: &str) -> String {
let check = verify_manifest_str(json);
let Ok(manifest) = RunManifest::from_canonical_json(json) else {
return format!(
"{{\"ok\":false,\"integrity\":{},\"claim\":null}}",
verify(json)
);
};
let budget = manifest
.get_recorded("memory_budget_mb")
.and_then(|v| v.parse::<u64>().ok());
let peak = manifest
.get_recorded("peak_rss_bytes")
.and_then(|v| v.parse::<u64>().ok());
let budget_bytes = manifest.memory_budget_bytes();
let resource = match (&budget_bytes, peak) {
(Err(_), _) => "invalid",
(Ok(Some(limit)), Some(bytes)) if bytes <= *limit => "within",