Skip to main content

roshi_interface/
error.rs

1use solana_program_error::ProgramError;
2
3#[repr(u32)]
4#[derive(Clone, Copy, Debug, Eq, PartialEq)]
5pub enum RoshiError {
6    InvalidOp = 0,
7    InstructionSliceOutOfBounds = 1,
8    AccountIndexOutOfBounds = 2,
9    InvalidBps = 3,
10    VaultPaused = 4,
11    UnauthorizedAction = 5,
12    InvalidProgramConfigAccount = 6,
13    InvalidVaultAccount = 7,
14    InvalidActionAccount = 8,
15    InvalidWithdrawalTicketAccount = 9,
16    InvalidAssetAccount = 10,
17    InvalidAccessProof = 11,
18    InvalidVaultTag = 12,
19    DivisionByZero = 13,
20    InvalidDecimals = 14,
21    InvalidVaultState = 15,
22    Overflow = 16,
23    ResultDoesNotFit = 17,
24    ZeroOutput = 18,
25    SlippageExceeded = 19,
26    InvalidTokenAccount = 20,
27    InvalidMintAccount = 21,
28}
29
30impl From<RoshiError> for ProgramError {
31    fn from(error: RoshiError) -> Self {
32        ProgramError::Custom(error as u32)
33    }
34}