sp_messenger_host_functions/
lib.rs1#![cfg_attr(not(feature = "std"), no_std)]
19
20#[cfg(feature = "std")]
21mod host_functions;
22mod runtime_interface;
23
24#[cfg(not(feature = "std"))]
25extern crate alloc;
26
27#[cfg(feature = "std")]
28pub use host_functions::{MessengerApi, MessengerExtension, MessengerHostFunctionsImpl};
29use parity_scale_codec::{Decode, Encode};
30pub use runtime_interface::messenger_runtime_interface::get_storage_key;
31#[cfg(feature = "std")]
32pub use runtime_interface::messenger_runtime_interface::HostFunctions;
33use scale_info::TypeInfo;
34use sp_domains::DomainId;
35use sp_messenger::messages::{ChainId, MessageKey};
36use sp_runtime_interface::pass_by;
37use sp_runtime_interface::pass_by::PassBy;
38
39#[derive(Debug, Decode, Encode, TypeInfo, PartialEq, Eq, Clone)]
40pub enum StorageKeyRequest {
41 ConfirmedDomainBlockStorageKey(DomainId),
43 OutboxStorageKey {
45 chain_id: ChainId,
46 message_key: MessageKey,
47 },
48 InboxResponseStorageKey {
50 chain_id: ChainId,
51 message_key: MessageKey,
52 },
53}
54
55impl PassBy for StorageKeyRequest {
56 type PassBy = pass_by::Codec<Self>;
57}