module Signet.Unstable.Exception.InvalidSigner where

import qualified Control.Monad.Catch as Exception
import qualified Data.ByteString as ByteString

newtype InvalidSigner
  = MkInvalidSigner ByteString.ByteString
  deriving (InvalidSigner -> InvalidSigner -> Bool
(InvalidSigner -> InvalidSigner -> Bool)
-> (InvalidSigner -> InvalidSigner -> Bool) -> Eq InvalidSigner
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: InvalidSigner -> InvalidSigner -> Bool
== :: InvalidSigner -> InvalidSigner -> Bool
$c/= :: InvalidSigner -> InvalidSigner -> Bool
/= :: InvalidSigner -> InvalidSigner -> Bool
Eq, Int -> InvalidSigner -> ShowS
[InvalidSigner] -> ShowS
InvalidSigner -> String
(Int -> InvalidSigner -> ShowS)
-> (InvalidSigner -> String)
-> ([InvalidSigner] -> ShowS)
-> Show InvalidSigner
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> InvalidSigner -> ShowS
showsPrec :: Int -> InvalidSigner -> ShowS
$cshow :: InvalidSigner -> String
show :: InvalidSigner -> String
$cshowList :: [InvalidSigner] -> ShowS
showList :: [InvalidSigner] -> ShowS
Show)

instance Exception.Exception InvalidSigner where
  displayException :: InvalidSigner -> String
displayException = String -> ShowS
forall a. Monoid a => a -> a -> a
mappend String
"invalid signer: " ShowS -> (InvalidSigner -> String) -> InvalidSigner -> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ByteString -> String
forall a. Show a => a -> String
show (ByteString -> String)
-> (InvalidSigner -> ByteString) -> InvalidSigner -> String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. InvalidSigner -> ByteString
unwrap

unwrap :: InvalidSigner -> ByteString.ByteString
unwrap :: InvalidSigner -> ByteString
unwrap (MkInvalidSigner ByteString
byteString) = ByteString
byteString