Skip to content

Commit 8b1b477

Browse files
committed
leios-trace-processor: allow transactions to be missing
1 parent f2fe34b commit 8b1b477

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

analysis/sims/trace-processor/src/Leios/Tracing/Lifecycle.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import Control.Concurrent.MVar (MVar, takeMVar)
1414
import Control.Monad ((<=<))
1515
import Control.Monad.IO.Class (liftIO)
1616
import Control.Monad.State.Strict (StateT, execStateT, gets, modify')
17-
import Data.Aeson (Value (Object), withObject, (.:))
17+
import Data.Aeson (Value (Object), withObject, (.:), (.:?))
1818
import Data.Aeson.Types (Parser, parseMaybe)
1919
import Data.Function (on)
2020
import Data.List (intercalate)
@@ -137,7 +137,7 @@ parseMessage "EBGenerated" item created =
137137
do
138138
size <- message .: "size_bytes"
139139
let destination = mempty{toEB = created, inEBs = S.singleton item, references = Sum 1}
140-
txs <- mapM (fmap ((,destination) . ItemKey "TX") . (.: "id")) =<< message .: "transactions"
140+
txs <- maybe (pure []) (mapM (fmap ((,destination) . ItemKey "TX") . (.: "id"))) =<< message .:? "transactions"
141141
ibs <- mapM (fmap ((,destination) . ItemKey "IB") . (.: "id")) =<< message .: "input_blocks"
142142
ebs <- mapM (fmap ((,destination) . ItemKey "EB") . (.: "id")) =<< message .: "endorser_blocks"
143143
pure (ItemKey{kind = "EB", item}, mempty{size, created}, M.fromList $ txs <> ibs <> ebs)
@@ -150,7 +150,7 @@ parseMessage "RBGenerated" item created =
150150
(pure mempty)
151151
(fmap (pure . (,mempty{toRB = created, references = Sum 1}) . ItemKey "EB") . (.: "id") <=< (.: "eb"))
152152
=<< message .: "endorsement"
153-
txs <- fmap ((,mempty{inRB = created, references = Sum 1}) . ItemKey "TX") <$> message .: "transactions"
153+
txs <- maybe [] (fmap ((,mempty{inRB = created, references = Sum 1}) . ItemKey "TX")) <$> message .: "transactions"
154154
pure (ItemKey{kind = "RB", item}, mempty{size, created}, M.fromList $ ebs <> txs)
155155
parseMessage _ _ _ =
156156
const $ fail "Ignore"

0 commit comments

Comments
 (0)