@@ -77,7 +77,7 @@ import Cardano.Ledger.State (StakePoolParams (..))
7777import Cardano.Ledger.TxIn (TxId )
7878import Control.Arrow (left )
7979import Control.DeepSeq (NFData )
80- import Control.Monad (forM , forM_ , unless , zipWithM )
80+ import Control.Monad (forM , unless , zipWithM )
8181import Data.Aeson (KeyValue (.. ), ToJSON (.. ))
8282import Data.Foldable (Foldable (.. ))
8383import qualified Data.Foldable as F
@@ -421,15 +421,22 @@ guardDijkstraFeaturesForPlutusV1toV3 ::
421421guardDijkstraFeaturesForPlutusV1toV3 tx = do
422422 let txBody = tx ^. bodyTxL
423423 directDeposits = txBody ^. directDepositsTxBodyL
424+ accountBalanceIntervals = txBody ^. accountBalanceIntervalsTxBodyL
425+ subTransactions = txBody ^. subTransactionsTxBodyL
424426 unless (null $ unDirectDeposits directDeposits) $
425427 Left $
426- inject ( DirectDepositsNotSupported directDeposits :: DijkstraContextError era )
427- let accountBalanceIntervals = txBody ^. accountBalanceIntervalsTxBodyL
428+ inject $
429+ DirectDepositsNotSupported @ era directDeposits
428430 unless (null $ unAccountBalanceIntervals accountBalanceIntervals) $
429431 Left $
430- inject (AccountBalanceIntervalsNotSupported accountBalanceIntervals :: DijkstraContextError era )
431- forM_ (NE. nonEmpty . toList . OMap. toStrictSeqOKeys $ txBody ^. subTransactionsTxBodyL) $ \ subTxIds ->
432- Left $ inject $ SubTxsAreNotSupported @ era subTxIds
432+ inject $
433+ AccountBalanceIntervalsNotSupported @ era accountBalanceIntervals
434+ case NE. nonEmpty . toList $ OMap. toStrictSeqOKeys subTransactions of
435+ Nothing -> Right ()
436+ Just subTxIds ->
437+ Left $
438+ inject $
439+ SubTxsAreNotSupported @ era subTxIds
433440
434441transFailUnsupportedScriptInSubTx ::
435442 forall l era .
0 commit comments