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}