Correct parsing of memos

This commit is contained in:
Rene Vergara 2023-03-14 12:55:23 -05:00
parent 63d372c2d5
commit cce6811df2
Signed by: pitmutt
GPG key ID: 65122AD495A7F5B2

View file

@ -106,7 +106,7 @@ data ZGoMemo =
, m_address :: Maybe T.Text
, m_payment :: Bool
}
deriving (Eq)
deriving (Eq, Show)
data MemoToken
= Login !U.UUID
@ -174,21 +174,24 @@ pZGoMemo = do
tks <- some pMemo
pure $ ZGoMemo (isSession tks) (isAddress tks) (isPayment tks)
where
isPayment [] = False
isPayment tks =
not (null tks) &&
case head tks of
PayMsg x -> True
_ -> False
_ -> isPayment $ tail tks
isAddress [] = Nothing
isAddress tks =
if not (null tks)
then case head tks of
Address x -> Just x
_ -> Nothing
_ -> isAddress $ tail tks
else Nothing
isSession [] = Nothing
isSession tks =
if not (null tks)
then case head tks of
Login x -> Just x
PayMsg y -> Just y
_ -> Nothing
_ -> isSession $ tail tks
else Nothing