wormhole/sdk/rust/core/src/error.rs

23 lines
605 B
Rust

/// Ergonomic error handler for use within the Wormhole core/SDK libraries.
#[macro_export]
macro_rules! require {
($expr:expr, $name:ident) => {
if !$expr {
return Err($name.into());
}
};
}
/// This ErrorCode maps to the nom ParseError, we use an integer because the library is deprecating
/// the current error type, so we should avoid depending on it for now.
type ErrorCode = usize;
#[derive(Debug)]
pub enum WormholeError {
InvalidGovernanceAction,
InvalidGovernanceChain,
InvalidGovernanceModule,
DeserializeFailed,
ParseError(ErrorCode),
}