Skip to content

Commit d5575aa

Browse files
committed
feat: add detailed logging to WasmParseError
- log CID, wasm formatted as string, and error
1 parent f84d182 commit d5575aa

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

availability-oracle/src/main.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -433,7 +433,7 @@ enum Invalid {
433433
Unavailable(Cid, Error),
434434
ManifestParseError(Error),
435435
SchemaParseError(Error),
436-
WasmParseError(Error),
436+
WasmParseError(Cid, String, Error),
437437
AbiParseError(Error),
438438
ForbiddenApi(String),
439439
UnsupportedNetwork(String),
@@ -449,7 +449,7 @@ impl Display for Invalid {
449449
Unavailable(cid, e) => write!(f, "unavailable cid: {} ({})", cid, e),
450450
ManifestParseError(e) => write!(f, "manifest parse error: {}", e),
451451
SchemaParseError(e) => write!(f, "schema parse error: {}", e),
452-
WasmParseError(e) => write!(f, "wasm parse error: {}", e),
452+
WasmParseError(cid, wasm, e) => write!(f, "error validating wasm. cid: {}, wasm parse error: {}, wasm as string: {}", cid, e, wasm),
453453
AbiParseError(e) => write!(f, "abi parse error: {}", e),
454454
ForbiddenApi(api) => write!(f, "use of forbidden api: {}", api),
455455
UnsupportedNetwork(network_id) => write!(f, "unsupported network: {}", network_id),
@@ -574,9 +574,11 @@ async fn check(
574574

575575
// Check mappings.
576576
if let Some(file) = file {
577-
let wasm = ipfs.cat(check_link(file)?).await?;
577+
let cid = check_link(file)?;
578+
let wasm = ipfs.cat(cid.clone()).await?;
579+
let wasm_as_string = format!("{:#?}",wasm);
578580
if let Some(host_fn) = calls_any_host_fn(&wasm, FORBIDDEN_HOST_FN_PREFIX)
579-
.map_err(Invalid::WasmParseError)?
581+
.map_err(|e| Invalid::WasmParseError(cid, wasm_as_string, e.into()))?
580582
{
581583
return Err(Invalid::ForbiddenApi(host_fn.to_string()).into());
582584
}

0 commit comments

Comments
 (0)