summaryrefslogtreecommitdiffhomepage
path: root/Crypto.hs
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2018-12-08 12:04:31 -0700
committerSean Whitton <spwhitton@spwhitton.name>2018-12-08 12:04:31 -0700
commit8e3da156811f5901230b5ae1e61209683f793920 (patch)
tree3e6ded85f64264687063534b833439625137769c /Crypto.hs
parentbaac01c49b553cf3e1564ad349bd90c0284a46dd (diff)
parent9f282483310c2ce028c507cc385e69342ad6c7bc (diff)
downloaddebug-me-8e3da156811f5901230b5ae1e61209683f793920.tar.gz
Merge tag '1.20181208'
tagging package debug-me version 1.20181208
Diffstat (limited to 'Crypto.hs')
-rw-r--r--Crypto.hs8
1 files changed, 6 insertions, 2 deletions
diff --git a/Crypto.hs b/Crypto.hs
index 2fe27e0..af3ad17 100644
--- a/Crypto.hs
+++ b/Crypto.hs
@@ -16,6 +16,7 @@ import Crypto.Error
import Crypto.Random.Entropy
import Data.ByteArray (convert)
import qualified Data.ByteString as B
+import qualified Data.Semigroup as Sem
dummySignature :: Signature
dummySignature = OtherSignature (Val mempty)
@@ -78,10 +79,13 @@ mkSigVerifier (PublicKey (Val pk)) =
CryptoPassed pk' -> SigVerifier 1 (Ed25519.verify pk')
CryptoFailed _ -> mempty
+instance Sem.Semigroup SigVerifier where
+ SigVerifier na a <> SigVerifier nb b =
+ SigVerifier (na+nb) $ \d s -> b d s || a d s
+
instance Monoid SigVerifier where
mempty = SigVerifier 0 $ \_b _s -> False
- mappend (SigVerifier na a) (SigVerifier nb b) =
- SigVerifier (na+nb) $ \d s -> b d s || a d s
+ mappend = (Sem.<>)
data MySessionKey = MySessionKey Ed25519.SecretKey Ed25519.PublicKey