sp_messenger_host_functions/
runtime_interface.rs1use crate::StorageKeyRequest;
2#[cfg(feature = "std")]
3use crate::host_functions::MessengerExtension;
4#[cfg(not(feature = "std"))]
5use alloc::vec::Vec;
6#[cfg(feature = "std")]
7use sp_externalities::ExternalitiesExt;
8use sp_runtime_interface::pass_by::{AllocateAndReturnByCodec, PassFatPointerAndDecode};
9use sp_runtime_interface::runtime_interface;
10
11#[runtime_interface]
13pub trait MessengerRuntimeInterface {
14 fn get_storage_key(
16 &mut self,
17 req: PassFatPointerAndDecode<StorageKeyRequest>,
18 ) -> AllocateAndReturnByCodec<Option<Vec<u8>>> {
19 self.extension::<MessengerExtension>()
20 .expect("No `MessengerExtension` associated for the current context!")
21 .get_storage_key(req)
22 }
23}