From dc67ee394205802d30d888387dffa7f588099217 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Sun, 5 May 2019 13:37:01 +0200 Subject: Signed identities using ED25519 --- src/Identity.hs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/Identity.hs') diff --git a/src/Identity.hs b/src/Identity.hs index 76d0c97..65fec8a 100644 --- a/src/Identity.hs +++ b/src/Identity.hs @@ -1,22 +1,28 @@ module Identity ( - Identity(..), + Identity, IdentityData(..), ) where import Data.Text (Text) +import PubKey import Storage -data Identity = Identity +type Identity = Signed IdentityData + +data IdentityData = Identity { idName :: Text , idPrev :: Maybe (Stored Identity) + , idKeyIdentity :: Stored PublicKey } deriving (Show) -instance Storable Identity where +instance Storable IdentityData where store' idt = storeRec $ do storeText "name" $ idName idt storeMbRef "prev" $ idPrev idt + storeRef "key-id" $ idKeyIdentity idt load' = loadRec $ Identity <$> loadText "name" <*> loadMbRef "prev" + <*> loadRef "key-id" -- cgit v1.2.3