"""Exceptions for Route402 SDK"""


class Route402Error(Exception):
    """Base exception for Route402 SDK"""
    pass


class APIError(Route402Error):
    """API request failed"""
    def __init__(self, message: str, status_code: int = None, response: dict = None):
        self.message = message
        self.status_code = status_code
        self.response = response
        super().__init__(self.message)


class PaymentError(Route402Error):
    """Payment operation failed"""
    pass


class ValidationError(Route402Error):
    """Invalid input parameters"""
    pass


class NetworkError(Route402Error):
    """Network/RPC error"""
    pass
