module Crypto.Ed25519.Exceptions (
PrivateKey
, PublicKey
, Signature(..)
, generatePrivate
, generatePublic
, generateKeyPair
, sign, valid
, Pure.importPublic, Pure.importPrivate
, Pure.exportPublic, Pure.exportPrivate
) where
import Data.ByteString(ByteString)
import Crypto.Ed25519.Pure(PublicKey(..),PrivateKey(..),Signature(..))
import qualified Crypto.Ed25519.Pure as Pure
import Crypto.Random
generatePrivate :: CryptoRandomGen g => g -> (PrivateKey, g)
generatePrivate = throwLeft . Pure.generatePrivate
generatePublic :: PrivateKey -> PublicKey
generatePublic = Pure.generatePublic
generateKeyPair :: CryptoRandomGen g => g -> (PrivateKey, PublicKey, g)
generateKeyPair = throwLeft . Pure.generateKeyPair
sign :: ByteString -> PrivateKey -> PublicKey -> Signature
sign = Pure.sign
valid :: ByteString -> PublicKey -> Signature -> Bool
valid = Pure.valid