From da3ea0b528c00d2ec6cbc618f46db382dc7bd117 Mon Sep 17 00:00:00 2001 From: James Wilson Date: Thu, 13 Mar 2025 09:40:50 +0000 Subject: [PATCH] Improve error message regarding failure to extract metadata from WASM runtime (#1961) * Improve error message re failure to extract metadata from runtime * Improve error on legacy metadata loading too * allow missing host funcs, too --- macro/src/wasm_loader.rs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/macro/src/wasm_loader.rs b/macro/src/wasm_loader.rs index fd5f5c361b..500c74126f 100644 --- a/macro/src/wasm_loader.rs +++ b/macro/src/wasm_loader.rs @@ -113,12 +113,14 @@ impl Executor { .uncached_call( self.runtime_blob.clone(), &mut self.externalities, - false, + true, "Metadata_metadata", &[], ) - .map_err(|_| { - CodegenError::Wasm("method \"Metadata_metadata\" doesnt exist".to_owned()) + .map_err(|e| { + CodegenError::Wasm(format!( + "Failed to call \"Metadata_metadata\" on WASM runtime. Cause: {e}" + )) })?; let encoded_metadata = >::decode(&mut &encoded_metadata[..]).map_err(CodegenError::Decode)?; @@ -131,14 +133,14 @@ impl Executor { .uncached_call( self.runtime_blob.clone(), &mut self.externalities, - false, + true, "Metadata_metadata_at_version", &version.encode(), ) - .map_err(|_| { - CodegenError::Wasm( - "method \"Metadata_metadata_at_version\" doesnt exist".to_owned(), - ) + .map_err(|e| { + CodegenError::Wasm(format!( + "Failed to call \"Metadata_metadata_at_version\" on WASM runtime. Cause: {e}" + )) })?; let Some(encoded_metadata) = >>::decode(&mut &encoded_metadata[..]).map_err(CodegenError::Decode)?