| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Simplex.Chat.Protocol
Synopsis
- currentChatVersion :: VersionChat
- supportedChatVRange :: VersionRangeChat
- groupDirectInvVersion :: VersionChat
- groupFastLinkJoinVersion :: VersionChat
- groupForwardVersion :: VersionChat
- batchSendVersion :: VersionChat
- groupHistoryIncludeWelcomeVersion :: VersionChat
- memberProfileUpdateVersion :: VersionChat
- pqEncryptionCompressionVersion :: VersionChat
- batchSend2Version :: VersionChat
- businessChatsVersion :: VersionChat
- businessChatPrefsVersion :: VersionChat
- contentReportsVersion :: VersionChat
- groupJoinRejectVersion :: VersionChat
- groupKnockingVersion :: VersionChat
- shortLinkDataVersion :: VersionChat
- memberSupportVoiceVersion :: VersionChat
- agentToChatVersion :: VersionSMPA -> VersionChat
- data ConnectionEntity
- = RcvDirectMsgConnection {
- entityConnection :: Connection
- contact :: Maybe Contact
- | RcvGroupMsgConnection { }
- | UserContactConnection { }
- = RcvDirectMsgConnection {
- connEntityInfo :: ConnectionEntity -> String
- updateEntityConnStatus :: ConnectionEntity -> ConnStatus -> ConnectionEntity
- data MsgEncoding
- data SMsgEncoding (e :: MsgEncoding) where
- SBinary :: SMsgEncoding 'Binary
- SJson :: SMsgEncoding 'Json
- class MsgEncodingI (e :: MsgEncoding) where
- encoding :: SMsgEncoding e
- checkEncoding :: forall t e e'. (MsgEncodingI e, MsgEncodingI e') => t e' -> Either String (t e)
- data AppMessage (e :: MsgEncoding) where
- AMJson :: AppMessageJson -> AppMessage 'Json
- AMBinary :: AppMessageBinary -> AppMessage 'Binary
- data AppMessageJson = AppMessageJson {
- v :: Maybe ChatVersionRange
- msgId :: Maybe SharedMsgId
- event :: Text
- params :: Object
- data AppMessageBinary = AppMessageBinary {
- msgId :: Maybe SharedMsgId
- tag :: Char
- body :: ByteString
- data MsgScope = MSMember {}
- data MsgRef = MsgRef {}
- data LinkPreview = LinkPreview {
- uri :: Text
- title :: Text
- description :: Text
- image :: ImageData
- content :: Maybe LinkContent
- data LinkContent
- data ReportReason
- data ChatMessage e = ChatMessage {
- chatVRange :: VersionRangeChat
- msgId :: Maybe SharedMsgId
- chatMsgEvent :: ChatMsgEvent e
- data AChatMessage = forall e.MsgEncodingI e => ACMsg (SMsgEncoding e) (ChatMessage e)
- data KeyRef = KRMember
- data ChatBinding
- data MsgSignature = MsgSignature KeyRef ASignature
- data SignedMsg = SignedMsg {
- chatBinding :: ChatBinding
- signatures :: NonEmpty MsgSignature
- signedBody :: ByteString
- data VerifiedMsg e
- = VMUnsigned (ChatMessage e)
- | VMSigned MsgSigStatus SignedMsg (ChatMessage e)
- data ParsedMsg e = ParsedMsg (Maybe GrpMsgForward) (Maybe SignedMsg) (ChatMessage e)
- data AParsedMsg = forall e.MsgEncodingI e => APMsg (SMsgEncoding e) (ParsedMsg e)
- data FwdSender
- data GrpMsgForward = GrpMsgForward {
- fwdSender :: FwdSender
- fwdBrokerTs :: UTCTime
- data MsgSigning = MsgSigning {
- bindingTag :: ChatBinding
- bindingData :: ByteString
- keyRef :: KeyRef
- privKey :: PrivateKeyEd25519
- encodeChatBinding :: ChatBinding -> ByteString -> ByteString
- data ChatMsgEvent (e :: MsgEncoding) where
- XMsgNew :: MsgContainer -> ChatMsgEvent 'Json
- XMsgFileDescr :: {..} -> ChatMsgEvent 'Json
- XMsgUpdate :: {..} -> ChatMsgEvent 'Json
- XMsgDel :: {..} -> ChatMsgEvent 'Json
- XMsgDeleted :: ChatMsgEvent 'Json
- XMsgReact :: {..} -> ChatMsgEvent 'Json
- XFile :: FileInvitation -> ChatMsgEvent 'Json
- XFileAcpt :: String -> ChatMsgEvent 'Json
- XFileAcptInv :: SharedMsgId -> Maybe ConnReqInvitation -> String -> ChatMsgEvent 'Json
- XFileCancel :: SharedMsgId -> ChatMsgEvent 'Json
- XInfo :: Profile -> ChatMsgEvent 'Json
- XContact :: {..} -> ChatMsgEvent 'Json
- XMember :: {..} -> ChatMsgEvent 'Json
- XDirectDel :: ChatMsgEvent 'Json
- XGrpInv :: GroupInvitation -> ChatMsgEvent 'Json
- XGrpAcpt :: MemberId -> ChatMsgEvent 'Json
- XGrpLinkInv :: GroupLinkInvitation -> ChatMsgEvent 'Json
- XGrpLinkReject :: GroupLinkRejection -> ChatMsgEvent 'Json
- XGrpLinkMem :: Profile -> ChatMsgEvent 'Json
- XGrpLinkAcpt :: GroupAcceptance -> GroupMemberRole -> MemberId -> ChatMsgEvent 'Json
- XGrpRelayInv :: GroupRelayInvitation -> ChatMsgEvent 'Json
- XGrpRelayAcpt :: ShortLinkContact -> ChatMsgEvent 'Json
- XGrpRelayTest :: ByteString -> Maybe ByteString -> ChatMsgEvent 'Json
- XGrpMemNew :: MemberInfo -> Maybe MsgScope -> ChatMsgEvent 'Json
- XGrpMemIntro :: MemberInfo -> Maybe MemberRestrictions -> ChatMsgEvent 'Json
- XGrpMemInv :: MemberId -> IntroInvitation -> ChatMsgEvent 'Json
- XGrpMemFwd :: MemberInfo -> IntroInvitation -> ChatMsgEvent 'Json
- XGrpMemInfo :: MemberId -> Profile -> ChatMsgEvent 'Json
- XGrpMemRole :: MemberId -> GroupMemberRole -> ChatMsgEvent 'Json
- XGrpMemRestrict :: MemberId -> MemberRestrictions -> ChatMsgEvent 'Json
- XGrpMemCon :: MemberId -> ChatMsgEvent 'Json
- XGrpMemConAll :: MemberId -> ChatMsgEvent 'Json
- XGrpMemDel :: MemberId -> Bool -> ChatMsgEvent 'Json
- XGrpLeave :: ChatMsgEvent 'Json
- XGrpDel :: ChatMsgEvent 'Json
- XGrpInfo :: GroupProfile -> ChatMsgEvent 'Json
- XGrpPrefs :: GroupPreferences -> ChatMsgEvent 'Json
- XGrpDirectInv :: ConnReqInvitation -> Maybe MsgContent -> Maybe MsgScope -> ChatMsgEvent 'Json
- XGrpMsgForward :: GrpMsgForward -> ChatMessage 'Json -> ChatMsgEvent 'Json
- XInfoProbe :: Probe -> ChatMsgEvent 'Json
- XInfoProbeCheck :: ProbeHash -> ChatMsgEvent 'Json
- XInfoProbeOk :: Probe -> ChatMsgEvent 'Json
- XCallInv :: CallId -> CallInvitation -> ChatMsgEvent 'Json
- XCallOffer :: CallId -> CallOffer -> ChatMsgEvent 'Json
- XCallAnswer :: CallId -> CallAnswer -> ChatMsgEvent 'Json
- XCallExtra :: CallId -> CallExtraInfo -> ChatMsgEvent 'Json
- XCallEnd :: CallId -> ChatMsgEvent 'Json
- XOk :: ChatMsgEvent 'Json
- XUnknown :: {..} -> ChatMsgEvent 'Json
- BFileChunk :: SharedMsgId -> FileChunk -> ChatMsgEvent 'Binary
- data AChatMsgEvent = forall e.MsgEncodingI e => ACME (SMsgEncoding e) (ChatMsgEvent e)
- isForwardedGroupMsg :: ChatMsgEvent e -> Bool
- data MsgReaction
- emojiTag :: IsString a => a
- knownReaction :: MsgReaction -> Either String MsgReaction
- newtype MREmojiChar = MREmojiChar Char
- mrEmojiChar :: Char -> Either String MREmojiChar
- data FileChunk
- = FileChunk {
- chunkNo :: Integer
- chunkBytes :: ByteString
- | FileChunkCancel
- = FileChunk {
- newtype InlineFileChunk = IFC {}
- data QuotedMsg = QuotedMsg {
- msgRef :: MsgRef
- content :: MsgContent
- cmToQuotedMsg :: AChatMsgEvent -> Maybe QuotedMsg
- data MsgContentTag
- data MsgContainer = MsgContainer {}
- mcSimple :: MsgContent -> MsgContainer
- mcQuote :: QuotedMsg -> MsgContent -> MsgContainer
- mcComment :: MsgRef -> MsgContent -> MsgContainer
- mcForward :: MsgContent -> MsgContainer
- data MsgContent
- data MsgChatLink
- = MCLContact {
- connLink :: ShortLinkContact
- profile :: Profile
- business :: Bool
- | MCLInvitation { }
- | MCLGroup { }
- = MCLContact {
- data LinkOwnerSig = LinkOwnerSig {
- ownerId :: Maybe B64UrlByteString
- chatBinding :: B64UrlByteString
- ownerSig :: Signature 'Ed25519
- msgContentText :: MsgContent -> Text
- durationText :: Int -> Text
- msgContentHasText :: MsgContent -> Bool
- isVoice :: MsgContent -> Bool
- isReport :: MsgContent -> Bool
- msgContentTag :: MsgContent -> MsgContentTag
- data MsgMention = MsgMention {}
- newtype MsgMentions = MsgMentions (Map MemberName MsgMention)
- toMaybeMap :: Map k v -> Maybe (Map k v)
- unknownMsgType :: Text
- (.=?) :: ToJSON v => Key -> Maybe v -> [(Key, Value)] -> [(Key, Value)]
- maxEncodedMsgLength :: Int
- maxCompressedMsgLength :: Int
- maxDecompressedMsgLength :: Int
- maxEncodedInfoLength :: Int
- maxCompressedInfoLength :: Int
- data EncodedChatMessage
- = ECMEncoded ByteString
- | ECMLarge
- encodeChatMessage :: MsgEncodingI e => Int -> ChatMessage e -> EncodedChatMessage
- parseChatMessages :: ByteString -> [Either String AParsedMsg]
- compressedBatchMsgBody_ :: MsgBody -> ByteString
- markCompressedBatch :: ByteString -> ByteString
- justTrue :: Bool -> Maybe Bool
- nonEmptyMap :: Map k v -> Maybe (Map k v)
- data ACMEventTag = forall e.MsgEncodingI e => ACMEventTag (SMsgEncoding e) (CMEventTag e)
- data CMEventTag (e :: MsgEncoding) where
- XMsgNew_ :: CMEventTag 'Json
- XMsgFileDescr_ :: CMEventTag 'Json
- XMsgUpdate_ :: CMEventTag 'Json
- XMsgDel_ :: CMEventTag 'Json
- XMsgDeleted_ :: CMEventTag 'Json
- XMsgReact_ :: CMEventTag 'Json
- XFile_ :: CMEventTag 'Json
- XFileAcpt_ :: CMEventTag 'Json
- XFileAcptInv_ :: CMEventTag 'Json
- XFileCancel_ :: CMEventTag 'Json
- XInfo_ :: CMEventTag 'Json
- XContact_ :: CMEventTag 'Json
- XMember_ :: CMEventTag 'Json
- XDirectDel_ :: CMEventTag 'Json
- XGrpInv_ :: CMEventTag 'Json
- XGrpAcpt_ :: CMEventTag 'Json
- XGrpLinkInv_ :: CMEventTag 'Json
- XGrpLinkReject_ :: CMEventTag 'Json
- XGrpLinkMem_ :: CMEventTag 'Json
- XGrpLinkAcpt_ :: CMEventTag 'Json
- XGrpRelayInv_ :: CMEventTag 'Json
- XGrpRelayAcpt_ :: CMEventTag 'Json
- XGrpRelayTest_ :: CMEventTag 'Json
- XGrpMemNew_ :: CMEventTag 'Json
- XGrpMemIntro_ :: CMEventTag 'Json
- XGrpMemInv_ :: CMEventTag 'Json
- XGrpMemFwd_ :: CMEventTag 'Json
- XGrpMemInfo_ :: CMEventTag 'Json
- XGrpMemRole_ :: CMEventTag 'Json
- XGrpMemRestrict_ :: CMEventTag 'Json
- XGrpMemCon_ :: CMEventTag 'Json
- XGrpMemConAll_ :: CMEventTag 'Json
- XGrpMemDel_ :: CMEventTag 'Json
- XGrpLeave_ :: CMEventTag 'Json
- XGrpDel_ :: CMEventTag 'Json
- XGrpInfo_ :: CMEventTag 'Json
- XGrpPrefs_ :: CMEventTag 'Json
- XGrpDirectInv_ :: CMEventTag 'Json
- XGrpMsgForward_ :: CMEventTag 'Json
- XInfoProbe_ :: CMEventTag 'Json
- XInfoProbeCheck_ :: CMEventTag 'Json
- XInfoProbeOk_ :: CMEventTag 'Json
- XCallInv_ :: CMEventTag 'Json
- XCallOffer_ :: CMEventTag 'Json
- XCallAnswer_ :: CMEventTag 'Json
- XCallExtra_ :: CMEventTag 'Json
- XCallEnd_ :: CMEventTag 'Json
- XOk_ :: CMEventTag 'Json
- XUnknown_ :: Text -> CMEventTag 'Json
- BFileChunk_ :: CMEventTag 'Binary
- toCMEventTag :: ChatMsgEvent e -> CMEventTag e
- hasNotification :: CMEventTag e -> Bool
- hasDeliveryReceipt :: CMEventTag e -> Bool
- requiresSignature :: CMEventTag e -> Bool
- unverifiedAllowed :: GroupMember -> GroupMember -> CMEventTag e -> Bool
- appBinaryToCM :: AppMessageBinary -> Either String (ChatMessage 'Binary)
- appJsonToCM :: AppMessageJson -> Either String (ChatMessage 'Json)
- chatToAppMessage :: forall e. MsgEncodingI e => ChatMessage e -> AppMessage e
- chatMsgBinaryToBody :: ChatMessage 'Binary -> ByteString
- chatMsgToBody :: forall e. MsgEncodingI e => ChatMessage e -> ByteString
- verifiedChatMsg :: VerifiedMsg e -> ChatMessage e
- verifiedMsgParts :: MsgEncodingI e => VerifiedMsg e -> (Maybe MsgSigStatus, Maybe SignedMsg, ByteString)
- data ContactShortLinkData = ContactShortLinkData {
- profile :: Profile
- message :: Maybe MsgContent
- business :: Bool
- data PublicGroupData = PublicGroupData {
- publicMemberCount :: Int64
- data GroupShortLinkData = GroupShortLinkData {
- groupProfile :: GroupProfile
- publicGroupData :: Maybe PublicGroupData
- data RelayShortLinkData = RelayShortLinkData {}
- data RelayProfile = RelayProfile {
- displayName :: ContactName
- fullName :: Text
- shortDescr :: Maybe Text
- image :: Maybe ImageData
- toRelayProfile :: (ContactName, Text, Maybe Text, Maybe ImageData) -> RelayProfile
- mkRelayProfile :: ContactName -> Maybe ImageData -> RelayProfile
- data RelayAddressLinkData = RelayAddressLinkData {}
Documentation
agentToChatVersion :: VersionSMPA -> VersionChat Source #
data ConnectionEntity Source #
Constructors
| RcvDirectMsgConnection | |
Fields
| |
| RcvGroupMsgConnection | |
Fields | |
| UserContactConnection | |
Fields | |
Instances
| FromJSON ConnectionEntity Source # | |
Defined in Simplex.Chat.Protocol Methods parseJSON :: Value -> Parser ConnectionEntity parseJSONList :: Value -> Parser [ConnectionEntity] omittedField :: Maybe ConnectionEntity | |
| ToJSON ConnectionEntity Source # | |
Defined in Simplex.Chat.Protocol Methods toJSON :: ConnectionEntity -> Value toEncoding :: ConnectionEntity -> Encoding toJSONList :: [ConnectionEntity] -> Value toEncodingList :: [ConnectionEntity] -> Encoding omitField :: ConnectionEntity -> Bool | |
| Show ConnectionEntity Source # | |
Defined in Simplex.Chat.Protocol Methods showsPrec :: Int -> ConnectionEntity -> ShowS show :: ConnectionEntity -> String showList :: [ConnectionEntity] -> ShowS | |
| Eq ConnectionEntity Source # | |
Defined in Simplex.Chat.Protocol Methods (==) :: ConnectionEntity -> ConnectionEntity -> Bool (/=) :: ConnectionEntity -> ConnectionEntity -> Bool | |
connEntityInfo :: ConnectionEntity -> String Source #
data MsgEncoding Source #
Instances
| TestEquality SMsgEncoding Source # | |
Defined in Simplex.Chat.Protocol Methods testEquality :: forall (a :: k) (b :: k). SMsgEncoding a -> SMsgEncoding b -> Maybe (a :~: b) | |
data SMsgEncoding (e :: MsgEncoding) where Source #
Constructors
| SBinary :: SMsgEncoding 'Binary | |
| SJson :: SMsgEncoding 'Json |
Instances
| TestEquality SMsgEncoding Source # | |
Defined in Simplex.Chat.Protocol Methods testEquality :: forall (a :: k) (b :: k). SMsgEncoding a -> SMsgEncoding b -> Maybe (a :~: b) | |
| Show (SMsgEncoding e) Source # | |
Defined in Simplex.Chat.Protocol Methods showsPrec :: Int -> SMsgEncoding e -> ShowS show :: SMsgEncoding e -> String showList :: [SMsgEncoding e] -> ShowS | |
class MsgEncodingI (e :: MsgEncoding) where Source #
Methods
encoding :: SMsgEncoding e Source #
Instances
| MsgEncodingI 'Binary Source # | |
Defined in Simplex.Chat.Protocol Methods | |
| MsgEncodingI 'Json Source # | |
Defined in Simplex.Chat.Protocol Methods encoding :: SMsgEncoding 'Json Source # | |
checkEncoding :: forall t e e'. (MsgEncodingI e, MsgEncodingI e') => t e' -> Either String (t e) Source #
data AppMessage (e :: MsgEncoding) where Source #
Constructors
| AMJson :: AppMessageJson -> AppMessage 'Json | |
| AMBinary :: AppMessageBinary -> AppMessage 'Binary |
data AppMessageJson Source #
Constructors
| AppMessageJson | |
Fields
| |
Instances
| FromJSON AppMessageJson Source # | |
Defined in Simplex.Chat.Protocol Methods parseJSON :: Value -> Parser AppMessageJson parseJSONList :: Value -> Parser [AppMessageJson] omittedField :: Maybe AppMessageJson | |
| ToJSON AppMessageJson Source # | |
Defined in Simplex.Chat.Protocol Methods toJSON :: AppMessageJson -> Value toEncoding :: AppMessageJson -> Encoding toJSONList :: [AppMessageJson] -> Value toEncodingList :: [AppMessageJson] -> Encoding omitField :: AppMessageJson -> Bool | |
data AppMessageBinary Source #
Constructors
| AppMessageBinary | |
Fields
| |
Instances
| StrEncoding AppMessageBinary Source # | |
Defined in Simplex.Chat.Protocol Methods strEncode :: AppMessageBinary -> ByteString strDecode :: ByteString -> Either String AppMessageBinary strP :: Parser AppMessageBinary | |
Instances
| FromJSON MsgScope Source # | |
Defined in Simplex.Chat.Protocol Methods parseJSON :: Value -> Parser MsgScope parseJSONList :: Value -> Parser [MsgScope] omittedField :: Maybe MsgScope | |
| ToJSON MsgScope Source # | |
Defined in Simplex.Chat.Protocol Methods toEncoding :: MsgScope -> Encoding toJSONList :: [MsgScope] -> Value toEncodingList :: [MsgScope] -> Encoding | |
| Show MsgScope Source # | |
| Eq MsgScope Source # | |
Constructors
| MsgRef | |
Instances
| FromJSON MsgRef Source # | |
Defined in Simplex.Chat.Protocol Methods parseJSON :: Value -> Parser MsgRef parseJSONList :: Value -> Parser [MsgRef] omittedField :: Maybe MsgRef | |
| ToJSON MsgRef Source # | |
Defined in Simplex.Chat.Protocol Methods toEncoding :: MsgRef -> Encoding toJSONList :: [MsgRef] -> Value toEncodingList :: [MsgRef] -> Encoding | |
| Show MsgRef Source # | |
| Eq MsgRef Source # | |
data LinkPreview Source #
Constructors
| LinkPreview | |
Fields
| |
Instances
| FromJSON LinkPreview Source # | |
Defined in Simplex.Chat.Protocol Methods parseJSON :: Value -> Parser LinkPreview parseJSONList :: Value -> Parser [LinkPreview] omittedField :: Maybe LinkPreview | |
| ToJSON LinkPreview Source # | |
Defined in Simplex.Chat.Protocol Methods toJSON :: LinkPreview -> Value toEncoding :: LinkPreview -> Encoding toJSONList :: [LinkPreview] -> Value toEncodingList :: [LinkPreview] -> Encoding omitField :: LinkPreview -> Bool | |
| Show LinkPreview Source # | |
Defined in Simplex.Chat.Protocol Methods showsPrec :: Int -> LinkPreview -> ShowS show :: LinkPreview -> String showList :: [LinkPreview] -> ShowS | |
| Eq LinkPreview Source # | |
Defined in Simplex.Chat.Protocol | |
data LinkContent Source #
Instances
| FromJSON LinkContent Source # | |
Defined in Simplex.Chat.Protocol Methods parseJSON :: Value -> Parser LinkContent parseJSONList :: Value -> Parser [LinkContent] omittedField :: Maybe LinkContent | |
| ToJSON LinkContent Source # | |
Defined in Simplex.Chat.Protocol Methods toJSON :: LinkContent -> Value toEncoding :: LinkContent -> Encoding toJSONList :: [LinkContent] -> Value toEncodingList :: [LinkContent] -> Encoding omitField :: LinkContent -> Bool | |
| Show LinkContent Source # | |
Defined in Simplex.Chat.Protocol Methods showsPrec :: Int -> LinkContent -> ShowS show :: LinkContent -> String showList :: [LinkContent] -> ShowS | |
| Eq LinkContent Source # | |
Defined in Simplex.Chat.Protocol | |
data ReportReason Source #
Instances
| FromJSON ReportReason Source # | |
Defined in Simplex.Chat.Protocol Methods parseJSON :: Value -> Parser ReportReason parseJSONList :: Value -> Parser [ReportReason] omittedField :: Maybe ReportReason | |
| ToJSON ReportReason Source # | |
Defined in Simplex.Chat.Protocol Methods toJSON :: ReportReason -> Value toEncoding :: ReportReason -> Encoding toJSONList :: [ReportReason] -> Value toEncodingList :: [ReportReason] -> Encoding omitField :: ReportReason -> Bool | |
| Show ReportReason Source # | |
Defined in Simplex.Chat.Protocol Methods showsPrec :: Int -> ReportReason -> ShowS show :: ReportReason -> String showList :: [ReportReason] -> ShowS | |
| Eq ReportReason Source # | |
Defined in Simplex.Chat.Protocol | |
| StrEncoding ReportReason Source # | |
Defined in Simplex.Chat.Protocol Methods strEncode :: ReportReason -> ByteString strDecode :: ByteString -> Either String ReportReason strP :: Parser ReportReason | |
data ChatMessage e Source #
Constructors
| ChatMessage | |
Fields
| |
Instances
| FromJSON (ChatMessage 'Json) Source # | |
Defined in Simplex.Chat.Protocol Methods parseJSON :: Value -> Parser (ChatMessage 'Json) parseJSONList :: Value -> Parser [ChatMessage 'Json] omittedField :: Maybe (ChatMessage 'Json) | |
| ToJSON (ChatMessage 'Json) Source # | |
Defined in Simplex.Chat.Protocol Methods toJSON :: ChatMessage 'Json -> Value toEncoding :: ChatMessage 'Json -> Encoding toJSONList :: [ChatMessage 'Json] -> Value toEncodingList :: [ChatMessage 'Json] -> Encoding omitField :: ChatMessage 'Json -> Bool | |
| Show (ChatMessage e) Source # | |
Defined in Simplex.Chat.Protocol Methods showsPrec :: Int -> ChatMessage e -> ShowS show :: ChatMessage e -> String showList :: [ChatMessage e] -> ShowS | |
| Eq (ChatMessage e) Source # | |
Defined in Simplex.Chat.Protocol | |
| FromField (ChatMessage 'Json) Source # | |
Defined in Simplex.Chat.Protocol Methods fromField :: FieldParser (ChatMessage 'Json) # | |
data AChatMessage Source #
Constructors
| forall e.MsgEncodingI e => ACMsg (SMsgEncoding e) (ChatMessage e) |
data ChatBinding Source #
Instances
| Show ChatBinding Source # | |
Defined in Simplex.Chat.Protocol Methods showsPrec :: Int -> ChatBinding -> ShowS show :: ChatBinding -> String showList :: [ChatBinding] -> ShowS | |
| Eq ChatBinding Source # | |
Defined in Simplex.Chat.Protocol | |
| Encoding ChatBinding Source # | |
Defined in Simplex.Chat.Protocol Methods smpEncode :: ChatBinding -> ByteString smpDecode :: ByteString -> Either String ChatBinding smpP :: Parser ChatBinding | |
| FromField ChatBinding Source # | |
Defined in Simplex.Chat.Protocol Methods fromField :: FieldParser ChatBinding # | |
| ToField ChatBinding Source # | |
Defined in Simplex.Chat.Protocol Methods toField :: ChatBinding -> SQLData # | |
data MsgSignature Source #
Constructors
| MsgSignature KeyRef ASignature |
Instances
| Show MsgSignature Source # | |
Defined in Simplex.Chat.Protocol Methods showsPrec :: Int -> MsgSignature -> ShowS show :: MsgSignature -> String showList :: [MsgSignature] -> ShowS | |
| Encoding MsgSignature Source # | |
Defined in Simplex.Chat.Protocol Methods smpEncode :: MsgSignature -> ByteString smpDecode :: ByteString -> Either String MsgSignature smpP :: Parser MsgSignature | |
Constructors
| SignedMsg | |
Fields
| |
data VerifiedMsg e Source #
Post-verification message. Encodes the invariant that signature has been checked (or wasn't required). Store and forward functions accept only VerifiedMsg, preventing unverified messages from being persisted.
Constructors
| VMUnsigned (ChatMessage e) | |
| VMSigned MsgSigStatus SignedMsg (ChatMessage e) |
Constructors
| ParsedMsg (Maybe GrpMsgForward) (Maybe SignedMsg) (ChatMessage e) |
data AParsedMsg Source #
Constructors
| forall e.MsgEncodingI e => APMsg (SMsgEncoding e) (ParsedMsg e) |
Constructors
| FwdMember MemberId ContactName | |
| FwdChannel |
data GrpMsgForward Source #
Constructors
| GrpMsgForward | |
Fields
| |
Instances
| Show GrpMsgForward Source # | |
Defined in Simplex.Chat.Protocol Methods showsPrec :: Int -> GrpMsgForward -> ShowS show :: GrpMsgForward -> String showList :: [GrpMsgForward] -> ShowS | |
| Eq GrpMsgForward Source # | |
Defined in Simplex.Chat.Protocol | |
| Encoding GrpMsgForward Source # | |
Defined in Simplex.Chat.Protocol Methods smpEncode :: GrpMsgForward -> ByteString smpDecode :: ByteString -> Either String GrpMsgForward smpP :: Parser GrpMsgForward | |
data MsgSigning Source #
Generic signing context — data, not function. Callers construct per-event; createSndMessages uses mechanically.
Constructors
| MsgSigning | |
Fields
| |
encodeChatBinding :: ChatBinding -> ByteString -> ByteString Source #
data ChatMsgEvent (e :: MsgEncoding) where Source #
Constructors
Instances
| Show (ChatMsgEvent e) Source # | |
Defined in Simplex.Chat.Protocol Methods showsPrec :: Int -> ChatMsgEvent e -> ShowS show :: ChatMsgEvent e -> String showList :: [ChatMsgEvent e] -> ShowS | |
| Eq (ChatMsgEvent e) Source # | |
Defined in Simplex.Chat.Protocol Methods (==) :: ChatMsgEvent e -> ChatMsgEvent e -> Bool (/=) :: ChatMsgEvent e -> ChatMsgEvent e -> Bool | |
data AChatMsgEvent Source #
Constructors
| forall e.MsgEncodingI e => ACME (SMsgEncoding e) (ChatMsgEvent e) |
Instances
| Show AChatMsgEvent Source # | |
Defined in Simplex.Chat.Protocol Methods showsPrec :: Int -> AChatMsgEvent -> ShowS show :: AChatMsgEvent -> String showList :: [AChatMsgEvent] -> ShowS | |
isForwardedGroupMsg :: ChatMsgEvent e -> Bool Source #
data MsgReaction Source #
Instances
| FromJSON MsgReaction Source # | |
Defined in Simplex.Chat.Protocol Methods parseJSON :: Value -> Parser MsgReaction parseJSONList :: Value -> Parser [MsgReaction] omittedField :: Maybe MsgReaction | |
| ToJSON MsgReaction Source # | |
Defined in Simplex.Chat.Protocol Methods toJSON :: MsgReaction -> Value toEncoding :: MsgReaction -> Encoding toJSONList :: [MsgReaction] -> Value toEncodingList :: [MsgReaction] -> Encoding omitField :: MsgReaction -> Bool | |
| Show MsgReaction Source # | |
Defined in Simplex.Chat.Protocol Methods showsPrec :: Int -> MsgReaction -> ShowS show :: MsgReaction -> String showList :: [MsgReaction] -> ShowS | |
| Eq MsgReaction Source # | |
Defined in Simplex.Chat.Protocol | |
| FromField MsgReaction Source # | |
Defined in Simplex.Chat.Protocol Methods fromField :: FieldParser MsgReaction # | |
| ToField MsgReaction Source # | |
Defined in Simplex.Chat.Protocol Methods toField :: MsgReaction -> SQLData # | |
knownReaction :: MsgReaction -> Either String MsgReaction Source #
newtype MREmojiChar Source #
Constructors
| MREmojiChar Char |
Instances
| FromJSON MREmojiChar Source # | |
Defined in Simplex.Chat.Protocol Methods parseJSON :: Value -> Parser MREmojiChar parseJSONList :: Value -> Parser [MREmojiChar] omittedField :: Maybe MREmojiChar | |
| ToJSON MREmojiChar Source # | |
Defined in Simplex.Chat.Protocol Methods toJSON :: MREmojiChar -> Value toEncoding :: MREmojiChar -> Encoding toJSONList :: [MREmojiChar] -> Value toEncodingList :: [MREmojiChar] -> Encoding omitField :: MREmojiChar -> Bool | |
| Show MREmojiChar Source # | |
Defined in Simplex.Chat.Protocol Methods showsPrec :: Int -> MREmojiChar -> ShowS show :: MREmojiChar -> String showList :: [MREmojiChar] -> ShowS | |
| Eq MREmojiChar Source # | |
Defined in Simplex.Chat.Protocol | |
mrEmojiChar :: Char -> Either String MREmojiChar Source #
Constructors
| FileChunk | |
Fields
| |
| FileChunkCancel | |
newtype InlineFileChunk Source #
Instances
| Encoding InlineFileChunk Source # | |
Defined in Simplex.Chat.Protocol Methods smpEncode :: InlineFileChunk -> ByteString smpDecode :: ByteString -> Either String InlineFileChunk smpP :: Parser InlineFileChunk | |
Constructors
| QuotedMsg | |
Fields
| |
Instances
| FromJSON QuotedMsg Source # | |
Defined in Simplex.Chat.Protocol Methods parseJSON :: Value -> Parser QuotedMsg parseJSONList :: Value -> Parser [QuotedMsg] omittedField :: Maybe QuotedMsg | |
| ToJSON QuotedMsg Source # | |
Defined in Simplex.Chat.Protocol Methods toEncoding :: QuotedMsg -> Encoding toJSONList :: [QuotedMsg] -> Value toEncodingList :: [QuotedMsg] -> Encoding | |
| Show QuotedMsg Source # | |
| Eq QuotedMsg Source # | |
cmToQuotedMsg :: AChatMsgEvent -> Maybe QuotedMsg Source #
data MsgContentTag Source #
Instances
data MsgContainer Source #
Constructors
| MsgContainer | |
Instances
| FromJSON MsgContainer Source # | |
Defined in Simplex.Chat.Protocol Methods parseJSON :: Value -> Parser MsgContainer parseJSONList :: Value -> Parser [MsgContainer] omittedField :: Maybe MsgContainer | |
| ToJSON MsgContainer Source # | |
Defined in Simplex.Chat.Protocol Methods toJSON :: MsgContainer -> Value toEncoding :: MsgContainer -> Encoding toJSONList :: [MsgContainer] -> Value toEncodingList :: [MsgContainer] -> Encoding omitField :: MsgContainer -> Bool | |
| Show MsgContainer Source # | |
Defined in Simplex.Chat.Protocol Methods showsPrec :: Int -> MsgContainer -> ShowS show :: MsgContainer -> String showList :: [MsgContainer] -> ShowS | |
| Eq MsgContainer Source # | |
Defined in Simplex.Chat.Protocol | |
mcSimple :: MsgContent -> MsgContainer Source #
mcQuote :: QuotedMsg -> MsgContent -> MsgContainer Source #
mcComment :: MsgRef -> MsgContent -> MsgContainer Source #
mcForward :: MsgContent -> MsgContainer Source #
data MsgContent Source #
Constructors
| MCText | |
Fields
| |
| MCLink | |
Fields
| |
| MCImage | |
| MCVideo | |
| MCVoice | |
| MCFile | |
Fields
| |
| MCReport | |
Fields
| |
| MCChat | |
Fields
| |
| MCUnknown | |
Instances
| FromJSON MsgContent Source # | |
Defined in Simplex.Chat.Protocol Methods parseJSON :: Value -> Parser MsgContent parseJSONList :: Value -> Parser [MsgContent] omittedField :: Maybe MsgContent | |
| ToJSON MsgContent Source # | |
Defined in Simplex.Chat.Protocol Methods toJSON :: MsgContent -> Value toEncoding :: MsgContent -> Encoding toJSONList :: [MsgContent] -> Value toEncodingList :: [MsgContent] -> Encoding omitField :: MsgContent -> Bool | |
| Show MsgContent Source # | |
Defined in Simplex.Chat.Protocol Methods showsPrec :: Int -> MsgContent -> ShowS show :: MsgContent -> String showList :: [MsgContent] -> ShowS | |
| Eq MsgContent Source # | |
Defined in Simplex.Chat.Protocol | |
| FromField MsgContent Source # | |
Defined in Simplex.Chat.Protocol Methods fromField :: FieldParser MsgContent # | |
| ToField MsgContent Source # | |
Defined in Simplex.Chat.Protocol Methods toField :: MsgContent -> SQLData # | |
data MsgChatLink Source #
Constructors
| MCLContact | |
Fields
| |
| MCLInvitation | |
Fields | |
| MCLGroup | |
Fields | |
Instances
| FromJSON MsgChatLink Source # | |
Defined in Simplex.Chat.Protocol Methods parseJSON :: Value -> Parser MsgChatLink parseJSONList :: Value -> Parser [MsgChatLink] omittedField :: Maybe MsgChatLink | |
| ToJSON MsgChatLink Source # | |
Defined in Simplex.Chat.Protocol Methods toJSON :: MsgChatLink -> Value toEncoding :: MsgChatLink -> Encoding toJSONList :: [MsgChatLink] -> Value toEncodingList :: [MsgChatLink] -> Encoding omitField :: MsgChatLink -> Bool | |
| Show MsgChatLink Source # | |
Defined in Simplex.Chat.Protocol Methods showsPrec :: Int -> MsgChatLink -> ShowS show :: MsgChatLink -> String showList :: [MsgChatLink] -> ShowS | |
| Eq MsgChatLink Source # | |
Defined in Simplex.Chat.Protocol | |
data LinkOwnerSig Source #
Constructors
| LinkOwnerSig | |
Fields
| |
Instances
| FromJSON LinkOwnerSig Source # | |
Defined in Simplex.Chat.Protocol Methods parseJSON :: Value -> Parser LinkOwnerSig parseJSONList :: Value -> Parser [LinkOwnerSig] omittedField :: Maybe LinkOwnerSig | |
| ToJSON LinkOwnerSig Source # | |
Defined in Simplex.Chat.Protocol Methods toJSON :: LinkOwnerSig -> Value toEncoding :: LinkOwnerSig -> Encoding toJSONList :: [LinkOwnerSig] -> Value toEncodingList :: [LinkOwnerSig] -> Encoding omitField :: LinkOwnerSig -> Bool | |
| Show LinkOwnerSig Source # | |
Defined in Simplex.Chat.Protocol Methods showsPrec :: Int -> LinkOwnerSig -> ShowS show :: LinkOwnerSig -> String showList :: [LinkOwnerSig] -> ShowS | |
| Eq LinkOwnerSig Source # | |
Defined in Simplex.Chat.Protocol | |
msgContentText :: MsgContent -> Text Source #
durationText :: Int -> Text Source #
msgContentHasText :: MsgContent -> Bool Source #
isVoice :: MsgContent -> Bool Source #
isReport :: MsgContent -> Bool Source #
data MsgMention Source #
Constructors
| MsgMention | |
Instances
| FromJSON MsgMention Source # | |
Defined in Simplex.Chat.Protocol Methods parseJSON :: Value -> Parser MsgMention parseJSONList :: Value -> Parser [MsgMention] omittedField :: Maybe MsgMention | |
| ToJSON MsgMention Source # | |
Defined in Simplex.Chat.Protocol Methods toJSON :: MsgMention -> Value toEncoding :: MsgMention -> Encoding toJSONList :: [MsgMention] -> Value toEncodingList :: [MsgMention] -> Encoding omitField :: MsgMention -> Bool | |
| Show MsgMention Source # | |
Defined in Simplex.Chat.Protocol Methods showsPrec :: Int -> MsgMention -> ShowS show :: MsgMention -> String showList :: [MsgMention] -> ShowS | |
| Eq MsgMention Source # | |
Defined in Simplex.Chat.Protocol | |
newtype MsgMentions Source #
Constructors
| MsgMentions (Map MemberName MsgMention) |
Instances
| FromJSON MsgMentions Source # | |
Defined in Simplex.Chat.Protocol Methods parseJSON :: Value -> Parser MsgMentions parseJSONList :: Value -> Parser [MsgMentions] omittedField :: Maybe MsgMentions | |
| ToJSON MsgMentions Source # | |
Defined in Simplex.Chat.Protocol Methods toJSON :: MsgMentions -> Value toEncoding :: MsgMentions -> Encoding toJSONList :: [MsgMentions] -> Value toEncodingList :: [MsgMentions] -> Encoding omitField :: MsgMentions -> Bool | |
| Show MsgMentions Source # | |
Defined in Simplex.Chat.Protocol Methods showsPrec :: Int -> MsgMentions -> ShowS show :: MsgMentions -> String showList :: [MsgMentions] -> ShowS | |
| Eq MsgMentions Source # | |
Defined in Simplex.Chat.Protocol | |
toMaybeMap :: Map k v -> Maybe (Map k v) Source #
unknownMsgType :: Text Source #
maxEncodedMsgLength :: Int Source #
maxCompressedMsgLength :: Int Source #
maxDecompressedMsgLength :: Int Source #
maxEncodedInfoLength :: Int Source #
maxCompressedInfoLength :: Int Source #
data EncodedChatMessage Source #
Constructors
| ECMEncoded ByteString | |
| ECMLarge |
encodeChatMessage :: MsgEncodingI e => Int -> ChatMessage e -> EncodedChatMessage Source #
parseChatMessages :: ByteString -> [Either String AParsedMsg] Source #
compressedBatchMsgBody_ :: MsgBody -> ByteString Source #
markCompressedBatch :: ByteString -> ByteString Source #
nonEmptyMap :: Map k v -> Maybe (Map k v) Source #
data ACMEventTag Source #
Constructors
| forall e.MsgEncodingI e => ACMEventTag (SMsgEncoding e) (CMEventTag e) |
Instances
| StrEncoding ACMEventTag Source # | |
Defined in Simplex.Chat.Protocol Methods strEncode :: ACMEventTag -> ByteString strDecode :: ByteString -> Either String ACMEventTag strP :: Parser ACMEventTag | |
| TextEncoding ACMEventTag Source # | |
Defined in Simplex.Chat.Protocol | |
| FromField ACMEventTag Source # | |
Defined in Simplex.Chat.Protocol Methods fromField :: FieldParser ACMEventTag # | |
| ToField ACMEventTag Source # | |
Defined in Simplex.Chat.Protocol Methods toField :: ACMEventTag -> SQLData # | |
data CMEventTag (e :: MsgEncoding) where Source #
Constructors
Instances
| Show (CMEventTag e) Source # | |
Defined in Simplex.Chat.Protocol Methods showsPrec :: Int -> CMEventTag e -> ShowS show :: CMEventTag e -> String showList :: [CMEventTag e] -> ShowS | |
| Eq (CMEventTag e) Source # | |
Defined in Simplex.Chat.Protocol | |
| MsgEncodingI e => StrEncoding (CMEventTag e) Source # | |
Defined in Simplex.Chat.Protocol Methods strEncode :: CMEventTag e -> ByteString strDecode :: ByteString -> Either String (CMEventTag e) strP :: Parser (CMEventTag e) | |
| MsgEncodingI e => TextEncoding (CMEventTag e) Source # | |
Defined in Simplex.Chat.Protocol | |
| (MsgEncodingI e, Typeable e) => FromField (CMEventTag e) Source # | |
Defined in Simplex.Chat.Protocol Methods fromField :: FieldParser (CMEventTag e) # | |
| MsgEncodingI e => ToField (CMEventTag e) Source # | |
Defined in Simplex.Chat.Protocol Methods toField :: CMEventTag e -> SQLData # | |
toCMEventTag :: ChatMsgEvent e -> CMEventTag e Source #
hasNotification :: CMEventTag e -> Bool Source #
hasDeliveryReceipt :: CMEventTag e -> Bool Source #
requiresSignature :: CMEventTag e -> Bool Source #
Events that must have a valid signature in relay groups.
unverifiedAllowed :: GroupMember -> GroupMember -> CMEventTag e -> Bool Source #
appBinaryToCM :: AppMessageBinary -> Either String (ChatMessage 'Binary) Source #
appJsonToCM :: AppMessageJson -> Either String (ChatMessage 'Json) Source #
chatToAppMessage :: forall e. MsgEncodingI e => ChatMessage e -> AppMessage e Source #
chatMsgBinaryToBody :: ChatMessage 'Binary -> ByteString Source #
chatMsgToBody :: forall e. MsgEncodingI e => ChatMessage e -> ByteString Source #
verifiedChatMsg :: VerifiedMsg e -> ChatMessage e Source #
verifiedMsgParts :: MsgEncodingI e => VerifiedMsg e -> (Maybe MsgSigStatus, Maybe SignedMsg, ByteString) Source #
Canonical bytes to store/forward, with optional signature. Signed: original bytes (re-encoding would invalidate signature). Unsigned: re-encoded from parsed ChatMessage (sanitizes stored content).
data ContactShortLinkData Source #
Constructors
| ContactShortLinkData | |
Fields
| |
Instances
| FromJSON ContactShortLinkData Source # | |
Defined in Simplex.Chat.Protocol Methods parseJSON :: Value -> Parser ContactShortLinkData parseJSONList :: Value -> Parser [ContactShortLinkData] omittedField :: Maybe ContactShortLinkData | |
| ToJSON ContactShortLinkData Source # | |
Defined in Simplex.Chat.Protocol Methods toJSON :: ContactShortLinkData -> Value toEncoding :: ContactShortLinkData -> Encoding toJSONList :: [ContactShortLinkData] -> Value toEncodingList :: [ContactShortLinkData] -> Encoding omitField :: ContactShortLinkData -> Bool | |
| Show ContactShortLinkData Source # | |
Defined in Simplex.Chat.Protocol Methods showsPrec :: Int -> ContactShortLinkData -> ShowS show :: ContactShortLinkData -> String showList :: [ContactShortLinkData] -> ShowS | |
data PublicGroupData Source #
Constructors
| PublicGroupData | |
Fields
| |
Instances
| FromJSON PublicGroupData Source # | |
Defined in Simplex.Chat.Protocol Methods parseJSON :: Value -> Parser PublicGroupData parseJSONList :: Value -> Parser [PublicGroupData] omittedField :: Maybe PublicGroupData | |
| ToJSON PublicGroupData Source # | |
Defined in Simplex.Chat.Protocol Methods toJSON :: PublicGroupData -> Value toEncoding :: PublicGroupData -> Encoding toJSONList :: [PublicGroupData] -> Value toEncodingList :: [PublicGroupData] -> Encoding omitField :: PublicGroupData -> Bool | |
| Show PublicGroupData Source # | |
Defined in Simplex.Chat.Protocol Methods showsPrec :: Int -> PublicGroupData -> ShowS show :: PublicGroupData -> String showList :: [PublicGroupData] -> ShowS | |
| Eq PublicGroupData Source # | |
Defined in Simplex.Chat.Protocol Methods (==) :: PublicGroupData -> PublicGroupData -> Bool (/=) :: PublicGroupData -> PublicGroupData -> Bool | |
data GroupShortLinkData Source #
Constructors
| GroupShortLinkData | |
Fields
| |
Instances
| FromJSON GroupShortLinkData Source # | |
Defined in Simplex.Chat.Protocol Methods parseJSON :: Value -> Parser GroupShortLinkData parseJSONList :: Value -> Parser [GroupShortLinkData] omittedField :: Maybe GroupShortLinkData | |
| ToJSON GroupShortLinkData Source # | |
Defined in Simplex.Chat.Protocol Methods toJSON :: GroupShortLinkData -> Value toEncoding :: GroupShortLinkData -> Encoding toJSONList :: [GroupShortLinkData] -> Value toEncodingList :: [GroupShortLinkData] -> Encoding omitField :: GroupShortLinkData -> Bool | |
| Show GroupShortLinkData Source # | |
Defined in Simplex.Chat.Protocol Methods showsPrec :: Int -> GroupShortLinkData -> ShowS show :: GroupShortLinkData -> String showList :: [GroupShortLinkData] -> ShowS | |
data RelayShortLinkData Source #
Constructors
| RelayShortLinkData | |
Fields | |
Instances
| FromJSON RelayShortLinkData Source # | |
Defined in Simplex.Chat.Protocol Methods parseJSON :: Value -> Parser RelayShortLinkData parseJSONList :: Value -> Parser [RelayShortLinkData] omittedField :: Maybe RelayShortLinkData | |
| ToJSON RelayShortLinkData Source # | |
Defined in Simplex.Chat.Protocol Methods toJSON :: RelayShortLinkData -> Value toEncoding :: RelayShortLinkData -> Encoding toJSONList :: [RelayShortLinkData] -> Value toEncodingList :: [RelayShortLinkData] -> Encoding omitField :: RelayShortLinkData -> Bool | |
| Show RelayShortLinkData Source # | |
Defined in Simplex.Chat.Protocol Methods showsPrec :: Int -> RelayShortLinkData -> ShowS show :: RelayShortLinkData -> String showList :: [RelayShortLinkData] -> ShowS | |
data RelayProfile Source #
Constructors
| RelayProfile | |
Fields
| |
Instances
| FromJSON RelayProfile Source # | |
Defined in Simplex.Chat.Protocol Methods parseJSON :: Value -> Parser RelayProfile parseJSONList :: Value -> Parser [RelayProfile] omittedField :: Maybe RelayProfile | |
| ToJSON RelayProfile Source # | |
Defined in Simplex.Chat.Protocol Methods toJSON :: RelayProfile -> Value toEncoding :: RelayProfile -> Encoding toJSONList :: [RelayProfile] -> Value toEncodingList :: [RelayProfile] -> Encoding omitField :: RelayProfile -> Bool | |
| Show RelayProfile Source # | |
Defined in Simplex.Chat.Protocol Methods showsPrec :: Int -> RelayProfile -> ShowS show :: RelayProfile -> String showList :: [RelayProfile] -> ShowS | |
| Eq RelayProfile Source # | |
Defined in Simplex.Chat.Protocol | |
toRelayProfile :: (ContactName, Text, Maybe Text, Maybe ImageData) -> RelayProfile Source #
mkRelayProfile :: ContactName -> Maybe ImageData -> RelayProfile Source #
data RelayAddressLinkData Source #
Constructors
| RelayAddressLinkData | |
Fields | |
Instances
| FromJSON RelayAddressLinkData Source # | |
Defined in Simplex.Chat.Protocol Methods parseJSON :: Value -> Parser RelayAddressLinkData parseJSONList :: Value -> Parser [RelayAddressLinkData] omittedField :: Maybe RelayAddressLinkData | |
| ToJSON RelayAddressLinkData Source # | |
Defined in Simplex.Chat.Protocol Methods toJSON :: RelayAddressLinkData -> Value toEncoding :: RelayAddressLinkData -> Encoding toJSONList :: [RelayAddressLinkData] -> Value toEncodingList :: [RelayAddressLinkData] -> Encoding omitField :: RelayAddressLinkData -> Bool | |
| Show RelayAddressLinkData Source # | |
Defined in Simplex.Chat.Protocol Methods showsPrec :: Int -> RelayAddressLinkData -> ShowS show :: RelayAddressLinkData -> String showList :: [RelayAddressLinkData] -> ShowS | |