Skip to main content

conxius_enclave_sdk/
lib.rs

1pub mod config;
2pub mod enclave;
3pub mod protocol;
4pub mod state;
5pub mod telemetry;
6
7#[cfg(target_arch = "wasm32")]
8pub mod wasm_bindings;
9
10pub type ConclaveResult<T> = Result<T, ConclaveError>;
11
12#[derive(Debug, serde::Serialize, serde::Deserialize, thiserror::Error)]
13pub enum ConclaveError {
14    #[error("Hardware Enclave Error: {0}")]
15    EnclaveFailure(String),
16    #[error("Cryptographic operation failed: {0}")]
17    CryptoError(String),
18    #[error("Invalid Payload provided")]
19    InvalidPayload,
20    #[error("ISO 20022 Error: {0}")]
21    IsoError(String),
22    #[error("Network error: {0}")]
23    NetworkError(String),
24    #[error("Rail Error: {0}")]
25    RailError(String),
26    #[error("Unsupported Chain or Feature: {0}")]
27    Unsupported(String),
28}
29
30#[cfg(target_arch = "wasm32")]
31impl From<ConclaveError> for wasm_bindgen::JsValue {
32    fn from(err: ConclaveError) -> Self {
33        wasm_bindgen::JsValue::from_str(&err.to_string())
34    }
35}