change field for name

This commit is contained in:
Evgeny @ SimpleX Chat
2026-06-28 14:59:46 +00:00
parent 07e81d59da
commit 5e1247e6cf
11 changed files with 92 additions and 66 deletions
+26 -1
View File
@@ -8,7 +8,12 @@
{-# LANGUAGE TemplateHaskell #-}
module Simplex.Chat.Names
( NameClaimProof (..),
( SimplexNameClaim (..),
mkSimplexNameClaim,
claimName,
claimProof,
setClaimProof,
NameClaimProof (..),
signNameProof,
verifyNameProofSig,
)
@@ -67,3 +72,23 @@ $(JQ.deriveJSON defaultJSON ''NameClaimProof)
instance ToField NameClaimProof where toField = toField . encodeJSON
instance FromField NameClaimProof where fromField = fromTextField_ decodeJSON
data SimplexNameClaim = SimplexNameClaim
{ name :: SimplexNameInfo,
proof :: Maybe NameClaimProof
}
deriving (Eq, Show)
mkSimplexNameClaim :: Maybe SimplexNameInfo -> Maybe NameClaimProof -> Maybe SimplexNameClaim
mkSimplexNameClaim name_ proof_ = (`SimplexNameClaim` proof_) <$> name_
claimName :: SimplexNameClaim -> SimplexNameInfo
claimName (SimplexNameClaim n _) = n
claimProof :: SimplexNameClaim -> Maybe NameClaimProof
claimProof (SimplexNameClaim _ p) = p
setClaimProof :: Maybe NameClaimProof -> SimplexNameClaim -> SimplexNameClaim
setClaimProof p (SimplexNameClaim n _) = SimplexNameClaim n p
$(JQ.deriveJSON defaultJSON ''SimplexNameClaim)