casper_execution_engine/resolvers/
mod.rs1pub mod error;
3pub mod memory_resolver;
4pub(crate) mod v1_function_index;
5mod v1_resolver;
6
7use casper_wasmi::ModuleImportResolver;
8
9use casper_types::ProtocolVersion;
10
11use self::error::ResolverError;
12use super::engine_state::EngineConfig;
13use crate::resolvers::memory_resolver::MemoryResolver;
14
15pub(crate) fn create_module_resolver(
19 _protocol_version: ProtocolVersion,
20 engine_config: &EngineConfig,
21) -> Result<impl ModuleImportResolver + MemoryResolver, ResolverError> {
22 Ok(v1_resolver::RuntimeModuleImportResolver::new(
23 engine_config.wasm_config().v1().max_memory(),
24 ))
25 }
30
31#[cfg(test)]
32mod tests {
33 use casper_types::ProtocolVersion;
34
35 use super::*;
36
37 #[test]
38 fn resolve_invalid_module() {
39 assert!(
41 create_module_resolver(ProtocolVersion::default(), &EngineConfig::default()).is_ok()
42 );
43 }
44
45 #[test]
46 fn protocol_version_1_always_resolves() {
47 assert!(create_module_resolver(ProtocolVersion::V1_0_0, &EngineConfig::default()).is_ok());
48 }
49}