use thiserror::Error;
#[derive(Error, Debug)]
pub enum ErrorCodes {
#[error("Math calculation error")]
MathError,
#[error("Type casting failure")]
CastingFailure,
#[error("BigNumber operation error")]
BnError,
#[error("Division by zero")]
DivisionByZero,
#[error("Tick value out of bounds")]
TickOutOfBounds,
#[error("Tick ratio out of bounds")]
TickRatioOutOfBounds,
#[error("Tick division by zero")]
TickDivisionByZero,
#[error("Tick overflow")]
TickOverflow,
#[error("Invalid perfect ratio for tick")]
TickInvalidPerfectRatio,
#[error("U256 number downcast error")]
U256NumberDownCastError,
#[error("Invalid token account")]
InvalidTokenAccount,
#[error("Unsupported token extension")]
UnsupportedTokenExtension,
#[error("Invalid token mint")]
InvalidTokenMint,
}