FRPWIKCNGK6PM6VCKEHEUG5A2LWL7WFN66L4CPQ7DLN4WAS3TIZQC parseRow :: Row Value -> LogEntryparseRow = undefined
parseRow :: Row Value -> Maybe LogEntryparseRow row = doa <- lookup "btcAddr" row >>= valueAddrt <- lookup "eventTime" row >>= valueTimeev <- lookup "event" row >>= (valueEvent t)return $ LogEntry a evvalueAddr :: Value -> Maybe BtcAddrvalueAddr (Text t) = parseBtcAddr $ T.pack tvalueAddr _ = NothingvalueTime :: Value -> Maybe UTCTimevalueTime (Text t) = parseTime defaultTimeLocale "%c" tvalueTime _ = NothingvalueEvent :: UTCTime -> Value -> Maybe WorkEventvalueEvent t (Text "start") = Just (StartWork t)valueEvent t (Text "stop") = Just (StopWork t)valueEvent _ _ = Nothing