diff --git a/aptos-move/aptos-vm-types/src/module_and_script_storage/module_storage.rs b/aptos-move/aptos-vm-types/src/module_and_script_storage/module_storage.rs
index b7c828d00eda2..6f120feb35766 100644
--- a/aptos-move/aptos-vm-types/src/module_and_script_storage/module_storage.rs
+++ b/aptos-move/aptos-vm-types/src/module_and_script_storage/module_storage.rs
@@ -1,9 +1,29 @@
// Copyright © Aptos Foundation
// SPDX-License-Identifier: Apache-2.0
+use aptos_types::state_store::state_value::StateValueMetadata;
+use move_binary_format::errors::PartialVMResult;
+use move_core_types::{account_address::AccountAddress, identifier::IdentStr};
use move_vm_runtime::{DummyCodeStorage, ModuleStorage};
/// Represents module storage used by the Aptos blockchain.
-pub trait AptosModuleStorage: ModuleStorage {}
+pub trait AptosModuleStorage: ModuleStorage {
+ /// Returns the state value metadata of an associated with this module. The
+ /// error is returned if there is a storage error. If the module does not exist,
+ /// `None` is returned.
+ fn fetch_state_value_metadata(
+ &self,
+ address: &AccountAddress,
+ module_name: &IdentStr,
+ ) -> PartialVMResult