{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE TypeFamilies #-}
module Cardano.Crypto.KES.NeverUsed (
NeverKES,
VerKeyKES (..),
SignKeyKES (..),
SigKES (..),
)
where
import GHC.Generics (Generic)
import NoThunks.Class (NoThunks)
import Cardano.Crypto.KES.Class
data NeverKES
instance KESAlgorithm NeverKES where
type SeedSizeKES NeverKES = 0
data VerKeyKES NeverKES = NeverUsedVerKeyKES
deriving (Int -> VerKeyKES NeverKES -> ShowS
[VerKeyKES NeverKES] -> ShowS
VerKeyKES NeverKES -> String
(Int -> VerKeyKES NeverKES -> ShowS)
-> (VerKeyKES NeverKES -> String)
-> ([VerKeyKES NeverKES] -> ShowS)
-> Show (VerKeyKES NeverKES)
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> VerKeyKES NeverKES -> ShowS
showsPrec :: Int -> VerKeyKES NeverKES -> ShowS
$cshow :: VerKeyKES NeverKES -> String
show :: VerKeyKES NeverKES -> String
$cshowList :: [VerKeyKES NeverKES] -> ShowS
showList :: [VerKeyKES NeverKES] -> ShowS
Show, VerKeyKES NeverKES -> VerKeyKES NeverKES -> Bool
(VerKeyKES NeverKES -> VerKeyKES NeverKES -> Bool)
-> (VerKeyKES NeverKES -> VerKeyKES NeverKES -> Bool)
-> Eq (VerKeyKES NeverKES)
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: VerKeyKES NeverKES -> VerKeyKES NeverKES -> Bool
== :: VerKeyKES NeverKES -> VerKeyKES NeverKES -> Bool
$c/= :: VerKeyKES NeverKES -> VerKeyKES NeverKES -> Bool
/= :: VerKeyKES NeverKES -> VerKeyKES NeverKES -> Bool
Eq, (forall x. VerKeyKES NeverKES -> Rep (VerKeyKES NeverKES) x)
-> (forall x. Rep (VerKeyKES NeverKES) x -> VerKeyKES NeverKES)
-> Generic (VerKeyKES NeverKES)
forall x. Rep (VerKeyKES NeverKES) x -> VerKeyKES NeverKES
forall x. VerKeyKES NeverKES -> Rep (VerKeyKES NeverKES) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. VerKeyKES NeverKES -> Rep (VerKeyKES NeverKES) x
from :: forall x. VerKeyKES NeverKES -> Rep (VerKeyKES NeverKES) x
$cto :: forall x. Rep (VerKeyKES NeverKES) x -> VerKeyKES NeverKES
to :: forall x. Rep (VerKeyKES NeverKES) x -> VerKeyKES NeverKES
Generic, Context -> VerKeyKES NeverKES -> IO (Maybe ThunkInfo)
Proxy (VerKeyKES NeverKES) -> String
(Context -> VerKeyKES NeverKES -> IO (Maybe ThunkInfo))
-> (Context -> VerKeyKES NeverKES -> IO (Maybe ThunkInfo))
-> (Proxy (VerKeyKES NeverKES) -> String)
-> NoThunks (VerKeyKES NeverKES)
forall a.
(Context -> a -> IO (Maybe ThunkInfo))
-> (Context -> a -> IO (Maybe ThunkInfo))
-> (Proxy a -> String)
-> NoThunks a
$cnoThunks :: Context -> VerKeyKES NeverKES -> IO (Maybe ThunkInfo)
noThunks :: Context -> VerKeyKES NeverKES -> IO (Maybe ThunkInfo)
$cwNoThunks :: Context -> VerKeyKES NeverKES -> IO (Maybe ThunkInfo)
wNoThunks :: Context -> VerKeyKES NeverKES -> IO (Maybe ThunkInfo)
$cshowTypeOf :: Proxy (VerKeyKES NeverKES) -> String
showTypeOf :: Proxy (VerKeyKES NeverKES) -> String
NoThunks)
data SigKES NeverKES = NeverUsedSigKES
deriving (Int -> SigKES NeverKES -> ShowS
[SigKES NeverKES] -> ShowS
SigKES NeverKES -> String
(Int -> SigKES NeverKES -> ShowS)
-> (SigKES NeverKES -> String)
-> ([SigKES NeverKES] -> ShowS)
-> Show (SigKES NeverKES)
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SigKES NeverKES -> ShowS
showsPrec :: Int -> SigKES NeverKES -> ShowS
$cshow :: SigKES NeverKES -> String
show :: SigKES NeverKES -> String
$cshowList :: [SigKES NeverKES] -> ShowS
showList :: [SigKES NeverKES] -> ShowS
Show, SigKES NeverKES -> SigKES NeverKES -> Bool
(SigKES NeverKES -> SigKES NeverKES -> Bool)
-> (SigKES NeverKES -> SigKES NeverKES -> Bool)
-> Eq (SigKES NeverKES)
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SigKES NeverKES -> SigKES NeverKES -> Bool
== :: SigKES NeverKES -> SigKES NeverKES -> Bool
$c/= :: SigKES NeverKES -> SigKES NeverKES -> Bool
/= :: SigKES NeverKES -> SigKES NeverKES -> Bool
Eq, (forall x. SigKES NeverKES -> Rep (SigKES NeverKES) x)
-> (forall x. Rep (SigKES NeverKES) x -> SigKES NeverKES)
-> Generic (SigKES NeverKES)
forall x. Rep (SigKES NeverKES) x -> SigKES NeverKES
forall x. SigKES NeverKES -> Rep (SigKES NeverKES) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. SigKES NeverKES -> Rep (SigKES NeverKES) x
from :: forall x. SigKES NeverKES -> Rep (SigKES NeverKES) x
$cto :: forall x. Rep (SigKES NeverKES) x -> SigKES NeverKES
to :: forall x. Rep (SigKES NeverKES) x -> SigKES NeverKES
Generic, Context -> SigKES NeverKES -> IO (Maybe ThunkInfo)
Proxy (SigKES NeverKES) -> String
(Context -> SigKES NeverKES -> IO (Maybe ThunkInfo))
-> (Context -> SigKES NeverKES -> IO (Maybe ThunkInfo))
-> (Proxy (SigKES NeverKES) -> String)
-> NoThunks (SigKES NeverKES)
forall a.
(Context -> a -> IO (Maybe ThunkInfo))
-> (Context -> a -> IO (Maybe ThunkInfo))
-> (Proxy a -> String)
-> NoThunks a
$cnoThunks :: Context -> SigKES NeverKES -> IO (Maybe ThunkInfo)
noThunks :: Context -> SigKES NeverKES -> IO (Maybe ThunkInfo)
$cwNoThunks :: Context -> SigKES NeverKES -> IO (Maybe ThunkInfo)
wNoThunks :: Context -> SigKES NeverKES -> IO (Maybe ThunkInfo)
$cshowTypeOf :: Proxy (SigKES NeverKES) -> String
showTypeOf :: Proxy (SigKES NeverKES) -> String
NoThunks)
data SignKeyKES NeverKES = NeverUsedSignKeyKES
deriving (Int -> SignKeyKES NeverKES -> ShowS
[SignKeyKES NeverKES] -> ShowS
SignKeyKES NeverKES -> String
(Int -> SignKeyKES NeverKES -> ShowS)
-> (SignKeyKES NeverKES -> String)
-> ([SignKeyKES NeverKES] -> ShowS)
-> Show (SignKeyKES NeverKES)
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> SignKeyKES NeverKES -> ShowS
showsPrec :: Int -> SignKeyKES NeverKES -> ShowS
$cshow :: SignKeyKES NeverKES -> String
show :: SignKeyKES NeverKES -> String
$cshowList :: [SignKeyKES NeverKES] -> ShowS
showList :: [SignKeyKES NeverKES] -> ShowS
Show, SignKeyKES NeverKES -> SignKeyKES NeverKES -> Bool
(SignKeyKES NeverKES -> SignKeyKES NeverKES -> Bool)
-> (SignKeyKES NeverKES -> SignKeyKES NeverKES -> Bool)
-> Eq (SignKeyKES NeverKES)
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: SignKeyKES NeverKES -> SignKeyKES NeverKES -> Bool
== :: SignKeyKES NeverKES -> SignKeyKES NeverKES -> Bool
$c/= :: SignKeyKES NeverKES -> SignKeyKES NeverKES -> Bool
/= :: SignKeyKES NeverKES -> SignKeyKES NeverKES -> Bool
Eq, (forall x. SignKeyKES NeverKES -> Rep (SignKeyKES NeverKES) x)
-> (forall x. Rep (SignKeyKES NeverKES) x -> SignKeyKES NeverKES)
-> Generic (SignKeyKES NeverKES)
forall x. Rep (SignKeyKES NeverKES) x -> SignKeyKES NeverKES
forall x. SignKeyKES NeverKES -> Rep (SignKeyKES NeverKES) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x. SignKeyKES NeverKES -> Rep (SignKeyKES NeverKES) x
from :: forall x. SignKeyKES NeverKES -> Rep (SignKeyKES NeverKES) x
$cto :: forall x. Rep (SignKeyKES NeverKES) x -> SignKeyKES NeverKES
to :: forall x. Rep (SignKeyKES NeverKES) x -> SignKeyKES NeverKES
Generic, Context -> SignKeyKES NeverKES -> IO (Maybe ThunkInfo)
Proxy (SignKeyKES NeverKES) -> String
(Context -> SignKeyKES NeverKES -> IO (Maybe ThunkInfo))
-> (Context -> SignKeyKES NeverKES -> IO (Maybe ThunkInfo))
-> (Proxy (SignKeyKES NeverKES) -> String)
-> NoThunks (SignKeyKES NeverKES)
forall a.
(Context -> a -> IO (Maybe ThunkInfo))
-> (Context -> a -> IO (Maybe ThunkInfo))
-> (Proxy a -> String)
-> NoThunks a
$cnoThunks :: Context -> SignKeyKES NeverKES -> IO (Maybe ThunkInfo)
noThunks :: Context -> SignKeyKES NeverKES -> IO (Maybe ThunkInfo)
$cwNoThunks :: Context -> SignKeyKES NeverKES -> IO (Maybe ThunkInfo)
wNoThunks :: Context -> SignKeyKES NeverKES -> IO (Maybe ThunkInfo)
$cshowTypeOf :: Proxy (SignKeyKES NeverKES) -> String
showTypeOf :: Proxy (SignKeyKES NeverKES) -> String
NoThunks)
algorithmNameKES :: forall (proxy :: * -> *). proxy NeverKES -> String
algorithmNameKES proxy NeverKES
_ = String
"never"
verifyKES :: forall a.
(Signable NeverKES a, HasCallStack) =>
ContextKES NeverKES
-> VerKeyKES NeverKES
-> Period
-> a
-> SigKES NeverKES
-> Either String ()
verifyKES = String
-> ()
-> VerKeyKES NeverKES
-> Period
-> a
-> SigKES NeverKES
-> Either String ()
forall a. HasCallStack => String -> a
error String
"KES not available"
totalPeriodsKES :: forall (proxy :: * -> *). proxy NeverKES -> Period
totalPeriodsKES proxy NeverKES
_ = Period
0
type SizeVerKeyKES NeverKES = 0
type SizeSignKeyKES NeverKES = 0
type SizeSigKES NeverKES = 0
rawSerialiseVerKeyKES :: VerKeyKES NeverKES -> ByteString
rawSerialiseVerKeyKES VerKeyKES NeverKES
_ = ByteString
forall a. Monoid a => a
mempty
rawSerialiseSigKES :: SigKES NeverKES -> ByteString
rawSerialiseSigKES SigKES NeverKES
_ = ByteString
forall a. Monoid a => a
mempty
rawDeserialiseVerKeyKES :: ByteString -> Maybe (VerKeyKES NeverKES)
rawDeserialiseVerKeyKES ByteString
_ = VerKeyKES NeverKES -> Maybe (VerKeyKES NeverKES)
forall a. a -> Maybe a
Just VerKeyKES NeverKES
NeverUsedVerKeyKES
rawDeserialiseSigKES :: ByteString -> Maybe (SigKES NeverKES)
rawDeserialiseSigKES ByteString
_ = SigKES NeverKES -> Maybe (SigKES NeverKES)
forall a. a -> Maybe a
Just SigKES NeverKES
NeverUsedSigKES
deriveVerKeyKES :: forall (m :: * -> *).
(MonadST m, MonadThrow m) =>
SignKeyKES NeverKES -> m (VerKeyKES NeverKES)
deriveVerKeyKES SignKeyKES NeverKES
_ = VerKeyKES NeverKES -> m (VerKeyKES NeverKES)
forall a. a -> m a
forall (m :: * -> *) a. Monad m => a -> m a
return VerKeyKES NeverKES
NeverUsedVerKeyKES
signKES :: forall a (m :: * -> *).
(Signable NeverKES a, MonadST m, MonadThrow m) =>
ContextKES NeverKES
-> Period -> a -> SignKeyKES NeverKES -> m (SigKES NeverKES)
signKES = String
-> () -> Period -> a -> SignKeyKES NeverKES -> m (SigKES NeverKES)
forall a. HasCallStack => String -> a
error String
"KES not available"
updateKESWith :: forall (m :: * -> *).
(MonadST m, MonadThrow m) =>
MLockedAllocator m
-> ContextKES NeverKES
-> SignKeyKES NeverKES
-> Period
-> m (Maybe (SignKeyKES NeverKES))
updateKESWith MLockedAllocator m
_ = String
-> ()
-> SignKeyKES NeverKES
-> Period
-> m (Maybe (SignKeyKES NeverKES))
forall a. HasCallStack => String -> a
error String
"KES not available"
genKeyKESWith :: forall (m :: * -> *).
(MonadST m, MonadThrow m) =>
MLockedAllocator m
-> MLockedSeed (SeedSizeKES NeverKES) -> m (SignKeyKES NeverKES)
genKeyKESWith MLockedAllocator m
_ MLockedSeed (SeedSizeKES NeverKES)
_ = SignKeyKES NeverKES -> m (SignKeyKES NeverKES)
forall a. a -> m a
forall (m :: * -> *) a. Monad m => a -> m a
return SignKeyKES NeverKES
NeverUsedSignKeyKES
forgetSignKeyKESWith :: forall (m :: * -> *).
(MonadST m, MonadThrow m) =>
MLockedAllocator m -> SignKeyKES NeverKES -> m ()
forgetSignKeyKESWith MLockedAllocator m
_ = m () -> SignKeyKES NeverKES -> m ()
forall a b. a -> b -> a
const (m () -> SignKeyKES NeverKES -> m ())
-> m () -> SignKeyKES NeverKES -> m ()
forall a b. (a -> b) -> a -> b
$ () -> m ()
forall a. a -> m a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
instance UnsoundKESAlgorithm NeverKES where
rawSerialiseSignKeyKES :: forall (m :: * -> *).
(MonadST m, MonadThrow m) =>
SignKeyKES NeverKES -> m ByteString
rawSerialiseSignKeyKES SignKeyKES NeverKES
_ = ByteString -> m ByteString
forall a. a -> m a
forall (m :: * -> *) a. Monad m => a -> m a
return ByteString
forall a. Monoid a => a
mempty
rawDeserialiseSignKeyKESWith :: forall (m :: * -> *).
(MonadST m, MonadThrow m) =>
MLockedAllocator m -> ByteString -> m (Maybe (SignKeyKES NeverKES))
rawDeserialiseSignKeyKESWith MLockedAllocator m
_ ByteString
_ = Maybe (SignKeyKES NeverKES) -> m (Maybe (SignKeyKES NeverKES))
forall a. a -> m a
forall (m :: * -> *) a. Monad m => a -> m a
return (Maybe (SignKeyKES NeverKES) -> m (Maybe (SignKeyKES NeverKES)))
-> Maybe (SignKeyKES NeverKES) -> m (Maybe (SignKeyKES NeverKES))
forall a b. (a -> b) -> a -> b
$ SignKeyKES NeverKES -> Maybe (SignKeyKES NeverKES)
forall a. a -> Maybe a
Just SignKeyKES NeverKES
NeverUsedSignKeyKES
instance UnsoundPureKESAlgorithm NeverKES where
data UnsoundPureSignKeyKES NeverKES = NeverUsedUnsoundPureSignKeyKES
deriving (Int -> UnsoundPureSignKeyKES NeverKES -> ShowS
[UnsoundPureSignKeyKES NeverKES] -> ShowS
UnsoundPureSignKeyKES NeverKES -> String
(Int -> UnsoundPureSignKeyKES NeverKES -> ShowS)
-> (UnsoundPureSignKeyKES NeverKES -> String)
-> ([UnsoundPureSignKeyKES NeverKES] -> ShowS)
-> Show (UnsoundPureSignKeyKES NeverKES)
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> UnsoundPureSignKeyKES NeverKES -> ShowS
showsPrec :: Int -> UnsoundPureSignKeyKES NeverKES -> ShowS
$cshow :: UnsoundPureSignKeyKES NeverKES -> String
show :: UnsoundPureSignKeyKES NeverKES -> String
$cshowList :: [UnsoundPureSignKeyKES NeverKES] -> ShowS
showList :: [UnsoundPureSignKeyKES NeverKES] -> ShowS
Show, UnsoundPureSignKeyKES NeverKES
-> UnsoundPureSignKeyKES NeverKES -> Bool
(UnsoundPureSignKeyKES NeverKES
-> UnsoundPureSignKeyKES NeverKES -> Bool)
-> (UnsoundPureSignKeyKES NeverKES
-> UnsoundPureSignKeyKES NeverKES -> Bool)
-> Eq (UnsoundPureSignKeyKES NeverKES)
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: UnsoundPureSignKeyKES NeverKES
-> UnsoundPureSignKeyKES NeverKES -> Bool
== :: UnsoundPureSignKeyKES NeverKES
-> UnsoundPureSignKeyKES NeverKES -> Bool
$c/= :: UnsoundPureSignKeyKES NeverKES
-> UnsoundPureSignKeyKES NeverKES -> Bool
/= :: UnsoundPureSignKeyKES NeverKES
-> UnsoundPureSignKeyKES NeverKES -> Bool
Eq, (forall x.
UnsoundPureSignKeyKES NeverKES
-> Rep (UnsoundPureSignKeyKES NeverKES) x)
-> (forall x.
Rep (UnsoundPureSignKeyKES NeverKES) x
-> UnsoundPureSignKeyKES NeverKES)
-> Generic (UnsoundPureSignKeyKES NeverKES)
forall x.
Rep (UnsoundPureSignKeyKES NeverKES) x
-> UnsoundPureSignKeyKES NeverKES
forall x.
UnsoundPureSignKeyKES NeverKES
-> Rep (UnsoundPureSignKeyKES NeverKES) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cfrom :: forall x.
UnsoundPureSignKeyKES NeverKES
-> Rep (UnsoundPureSignKeyKES NeverKES) x
from :: forall x.
UnsoundPureSignKeyKES NeverKES
-> Rep (UnsoundPureSignKeyKES NeverKES) x
$cto :: forall x.
Rep (UnsoundPureSignKeyKES NeverKES) x
-> UnsoundPureSignKeyKES NeverKES
to :: forall x.
Rep (UnsoundPureSignKeyKES NeverKES) x
-> UnsoundPureSignKeyKES NeverKES
Generic, Context -> UnsoundPureSignKeyKES NeverKES -> IO (Maybe ThunkInfo)
Proxy (UnsoundPureSignKeyKES NeverKES) -> String
(Context -> UnsoundPureSignKeyKES NeverKES -> IO (Maybe ThunkInfo))
-> (Context
-> UnsoundPureSignKeyKES NeverKES -> IO (Maybe ThunkInfo))
-> (Proxy (UnsoundPureSignKeyKES NeverKES) -> String)
-> NoThunks (UnsoundPureSignKeyKES NeverKES)
forall a.
(Context -> a -> IO (Maybe ThunkInfo))
-> (Context -> a -> IO (Maybe ThunkInfo))
-> (Proxy a -> String)
-> NoThunks a
$cnoThunks :: Context -> UnsoundPureSignKeyKES NeverKES -> IO (Maybe ThunkInfo)
noThunks :: Context -> UnsoundPureSignKeyKES NeverKES -> IO (Maybe ThunkInfo)
$cwNoThunks :: Context -> UnsoundPureSignKeyKES NeverKES -> IO (Maybe ThunkInfo)
wNoThunks :: Context -> UnsoundPureSignKeyKES NeverKES -> IO (Maybe ThunkInfo)
$cshowTypeOf :: Proxy (UnsoundPureSignKeyKES NeverKES) -> String
showTypeOf :: Proxy (UnsoundPureSignKeyKES NeverKES) -> String
NoThunks)
unsoundPureSignKES :: forall a.
Signable NeverKES a =>
ContextKES NeverKES
-> Period -> a -> UnsoundPureSignKeyKES NeverKES -> SigKES NeverKES
unsoundPureSignKES = String
-> ()
-> Period
-> a
-> UnsoundPureSignKeyKES NeverKES
-> SigKES NeverKES
forall a. HasCallStack => String -> a
error String
"KES not available"
unsoundPureGenKeyKES :: Seed -> UnsoundPureSignKeyKES NeverKES
unsoundPureGenKeyKES Seed
_ = UnsoundPureSignKeyKES NeverKES
NeverUsedUnsoundPureSignKeyKES
unsoundPureDeriveVerKeyKES :: UnsoundPureSignKeyKES NeverKES -> VerKeyKES NeverKES
unsoundPureDeriveVerKeyKES UnsoundPureSignKeyKES NeverKES
_ = VerKeyKES NeverKES
NeverUsedVerKeyKES
unsoundPureUpdateKES :: ContextKES NeverKES
-> UnsoundPureSignKeyKES NeverKES
-> Period
-> Maybe (UnsoundPureSignKeyKES NeverKES)
unsoundPureUpdateKES ContextKES NeverKES
_ = String
-> UnsoundPureSignKeyKES NeverKES
-> Period
-> Maybe (UnsoundPureSignKeyKES NeverKES)
forall a. HasCallStack => String -> a
error String
"KES not available"
unsoundPureSignKeyKESToSoundSignKeyKES :: forall (m :: * -> *).
(MonadST m, MonadThrow m) =>
UnsoundPureSignKeyKES NeverKES -> m (SignKeyKES NeverKES)
unsoundPureSignKeyKESToSoundSignKeyKES UnsoundPureSignKeyKES NeverKES
_ = SignKeyKES NeverKES -> m (SignKeyKES NeverKES)
forall a. a -> m a
forall (m :: * -> *) a. Monad m => a -> m a
return SignKeyKES NeverKES
NeverUsedSignKeyKES
rawSerialiseUnsoundPureSignKeyKES :: UnsoundPureSignKeyKES NeverKES -> ByteString
rawSerialiseUnsoundPureSignKeyKES UnsoundPureSignKeyKES NeverKES
_ = ByteString
forall a. Monoid a => a
mempty
rawDeserialiseUnsoundPureSignKeyKES :: ByteString -> Maybe (UnsoundPureSignKeyKES NeverKES)
rawDeserialiseUnsoundPureSignKeyKES ByteString
_ = UnsoundPureSignKeyKES NeverKES
-> Maybe (UnsoundPureSignKeyKES NeverKES)
forall a. a -> Maybe a
Just UnsoundPureSignKeyKES NeverKES
NeverUsedUnsoundPureSignKeyKES