switchboard_common/
function_error.rs1#[repr(u8)]
5#[derive(Clone, Debug, Default)]
6pub enum SbFunctionError {
7 #[default]
8 None = 0,
9 FunctionError(u8),
11 FatalError = 199,
13 FunctionResultEmitError = 200,
16 QuoteVerificationError = 201,
18 SwitchboardError(u8),
20 OutOfFunds = 250,
22 Reserved251 = 251,
23 ContainerUnavailable = 252,
24 FunctionResultNotFound = 253,
26 CallbackError = 254,
28 FunctionTimeout = 255,
30}
31impl From<u8> for SbFunctionError {
32 fn from(value: u8) -> Self {
33 match value {
34 0 => SbFunctionError::None,
35 1..=198 => SbFunctionError::FunctionError(value),
36 199 => SbFunctionError::FatalError,
37 200 => SbFunctionError::FunctionResultEmitError,
38 201 => SbFunctionError::QuoteVerificationError,
39 202..=249 => SbFunctionError::SwitchboardError(value),
40 250 => SbFunctionError::OutOfFunds,
41 251 => SbFunctionError::Reserved251,
42 252 => SbFunctionError::ContainerUnavailable,
43 253 => SbFunctionError::FunctionResultNotFound,
44 254 => SbFunctionError::CallbackError,
45 255 => SbFunctionError::FunctionTimeout,
46 }
47 }
48}
49impl SbFunctionError {
50 pub fn as_u8(&self) -> u8 {
51 match self {
52 SbFunctionError::None => 0,
53 SbFunctionError::FunctionError(value) => *value,
54 SbFunctionError::FatalError => 199,
55 SbFunctionError::FunctionResultEmitError => 200,
56 SbFunctionError::QuoteVerificationError => 201,
57 SbFunctionError::SwitchboardError(value) => *value,
58 SbFunctionError::OutOfFunds => 250,
59 SbFunctionError::Reserved251 => 251,
60 SbFunctionError::ContainerUnavailable => 252,
61 SbFunctionError::FunctionResultNotFound => 253,
62 SbFunctionError::CallbackError => 254,
63 SbFunctionError::FunctionTimeout => 255,
64 }
65 }
66}