Correct parsing of memos
This commit is contained in:
parent
63d372c2d5
commit
cce6811df2
1 changed files with 7 additions and 4 deletions
11
src/ZGoTx.hs
11
src/ZGoTx.hs
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue