forge_api/
error.rs

1use num_enum::IntoPrimitive;
2use solana_program::program_error::ProgramError;
3use thiserror::Error;
4
5#[derive(Debug, Error, Clone, Copy, PartialEq, Eq, IntoPrimitive)]
6#[repr(u32)]
7pub enum ForgeError {
8    #[error("Auth failed")]
9    AuthFailed = 7,
10    #[error("Invalid resource")]
11    InvalidResource = 8,
12    #[error("Slot too early")]
13    SlotTooEarly = 9,
14    #[error("Item has degraded to 0 durability")]
15    ItemDegraded = 10,
16}
17
18impl From<ForgeError> for ProgramError {
19    fn from(e: ForgeError) -> Self {
20        ProgramError::Custom(e as u32)
21    }
22}