exocore_apps_host/
error.rs

1use exocore_protos::apps::MessageStatus;
2
3/// Application runtime error.
4#[derive(Debug, thiserror::Error)]
5pub enum Error {
6    #[error("The application is missing function '{0}'. Did you include SDK and implement #[exocore_app]?")]
7    MissingFunction(#[source] anyhow::Error, &'static str),
8
9    #[error("WASM runtime error '{0}'")]
10    Runtime(&'static str),
11
12    #[cfg(any(
13        all(
14            target_arch = "x86_64",
15            any(target_os = "linux", target_os = "macos", target_os = "windows")
16        ),
17        all(target_arch = "aarch64", any(target_os = "linux", target_os = "macos"))
18    ))]
19    #[error("WASM execution aborted: {0}")]
20    Trap(#[from] wasmtime::Trap),
21
22    #[error("Message handling error: status={0:?}")]
23    MessageStatus(Option<MessageStatus>),
24
25    #[error("Message decoding error: {0}")]
26    MessageDecode(#[from] exocore_protos::prost::DecodeError),
27
28    #[error("Entity store error: {0}")]
29    Store(#[from] exocore_store::error::Error),
30
31    #[error(transparent)]
32    Other(#[from] anyhow::Error),
33}