#[doc(hidden)]
pub type SimpleResult = u64;
#[repr(u64)]
#[doc(hidden)]
#[derive(Debug, PartialEq)]
pub enum SimpleResultCode {
Ok = 0,
Nothing = u64::MAX,
HostCallInvalid = Self::Nothing as u64 - 1,
OutOfBounds = Self::Nothing as u64 - 2,
IndexUnknown = Self::Nothing as u64 - 3,
StorageFull = Self::Nothing as u64 - 4,
BadCore = Self::Nothing as u64 - 5,
NoCash = Self::Nothing as u64 - 6,
GasLimitTooLow = Self::Nothing as u64 - 7,
ActionInvalid = Self::Nothing as u64 - 8,
}
impl From<SimpleResultCode> for SimpleResult {
fn from(code: SimpleResultCode) -> Self {
code as Self
}
}
impl<E> From<SimpleResultCode> for Result<SimpleResult, E> {
fn from(code: SimpleResultCode) -> Self {
Ok(code as SimpleResult)
}
}
#[doc(hidden)]
pub const LOWEST_ERROR: SimpleResult = SimpleResultCode::ActionInvalid as SimpleResult;
#[repr(u64)]
#[doc(hidden)]
pub enum InvokeOutcomeCode {
Halt = 0,
Panic = 1,
PageFault = 2,
HostCallFault = 3,
OutOfGas = 4,
}
impl From<InvokeOutcomeCode> for u64 {
fn from(code: InvokeOutcomeCode) -> Self {
code as Self
}
}