sp_messenger_host_functions/
runtime_interface.rs

1#[cfg(feature = "std")]
2use crate::host_functions::MessengerExtension;
3use crate::StorageKeyRequest;
4#[cfg(not(feature = "std"))]
5use alloc::vec::Vec;
6#[cfg(feature = "std")]
7use sp_externalities::ExternalitiesExt;
8use sp_runtime_interface::runtime_interface;
9
10/// Messenger related runtime interface
11#[runtime_interface]
12pub trait MessengerRuntimeInterface {
13    /// Returns the storage key.
14    fn get_storage_key(&mut self, req: StorageKeyRequest) -> Option<Vec<u8>> {
15        self.extension::<MessengerExtension>()
16            .expect("No `MessengerExtension` associated for the current context!")
17            .get_storage_key(req)
18    }
19}