class LudiaLudomError(Exception):
    pass


class APIError(LudiaLudomError):
    pass


class SignatureError(LudiaLudomError):
    pass


class InvalidSignatureGenerated(LudiaLudomError):
    def __init__(self, secret: str, message: str, signature: str):
        self._secret = secret
        self._message = message
        self._signature = signature

    @property
    def secret(self) -> str:
        return self._secret

    @property
    def message(self) -> str:
        return self._message

    @property
    def signature(self) -> str:
        return self._signature
