@@ -14,8 +14,9 @@ use crate::errors::{VmError, VmResult};
14
14
use crate :: filesystem:: mkdir_p;
15
15
use crate :: instance:: { Instance , InstanceOptions } ;
16
16
use crate :: modules:: { CachedModule , FileSystemCache , InMemoryCache , PinnedMemoryCache } ;
17
+ use crate :: parsed_wasm:: ParsedWasm ;
17
18
use crate :: size:: Size ;
18
- use crate :: static_analysis:: { deserialize_exports , has_ibc_entry_points} ;
19
+ use crate :: static_analysis:: has_ibc_entry_points;
19
20
use crate :: wasm_backend:: { compile, make_compiling_engine, make_runtime_engine} ;
20
21
21
22
const STATE_DIR : & str = "state" ;
@@ -254,7 +255,7 @@ where
254
255
pub fn analyze ( & self , checksum : & Checksum ) -> VmResult < AnalysisReport > {
255
256
// Here we could use a streaming deserializer to slightly improve performance. However, this way it is DRYer.
256
257
let wasm = self . load_wasm ( checksum) ?;
257
- let module = deserialize_exports ( & wasm) ?;
258
+ let module = ParsedWasm :: parse ( & wasm) ?;
258
259
Ok ( AnalysisReport {
259
260
has_ibc_entry_points : has_ibc_entry_points ( & module) ,
260
261
required_capabilities : required_capabilities_from_module ( & module) ,
@@ -571,10 +572,7 @@ mod tests {
571
572
let save_result = cache. save_wasm ( & wasm) ;
572
573
match save_result. unwrap_err ( ) {
573
574
VmError :: StaticValidationErr { msg, .. } => {
574
- assert_eq ! (
575
- msg,
576
- "Wasm contract missing a required marker export: interface_version_*"
577
- )
575
+ assert_eq ! ( msg, "Wasm contract must contain exactly one memory" )
578
576
}
579
577
e => panic ! ( "Unexpected error {e:?}" ) ,
580
578
}
0 commit comments