@@ -21,11 +21,11 @@ import Data.Map (Map)
2121import Data.Map qualified as Map
2222import Data.Set (Set )
2323import Data.Text (Text )
24- import GHC.Exts ( IsList ( .. ))
24+ import GHC.Exts qualified as GHC
2525
2626newtype UTxO era = UTxO { unUTxO :: Map TxIn (TxOut CtxUTxO era )}
2727 deriving stock (Eq , Show )
28- deriving newtype (Semigroup , Monoid , IsList )
28+ deriving newtype (Semigroup , Monoid , GHC. IsList )
2929
3030instance IsCardanoEra era => ToJSON (UTxO era ) where
3131 toJSON (UTxO m) = toJSON m
@@ -36,7 +36,7 @@ instance
3636 => FromJSON (UTxO era )
3737 where
3838 parseJSON = Aeson. withObject " UTxO" $ \ hm -> do
39- let l = toList $ KeyMap. toHashMapText hm
39+ let l = GHC. toList $ KeyMap. toHashMapText hm
4040 res <- mapM toTxIn l
4141 pure . UTxO $ Map. fromList res
4242 where
@@ -77,3 +77,11 @@ inputSet = Map.keysSet . unUTxO
7777-- | Remove the right hand side from the left hand side.
7878difference :: UTxO era -> UTxO era -> UTxO era
7979difference a b = UTxO $ Map. difference (unUTxO a) (unUTxO b)
80+
81+ -- | Convert from a list of key/value pairs.
82+ fromList :: [(TxIn , TxOut CtxUTxO era )] -> UTxO era
83+ fromList = UTxO . Map. fromList
84+
85+ -- | Convert to a list of key/value pairs.
86+ toList :: UTxO era -> [(TxIn , TxOut CtxUTxO era )]
87+ toList (UTxO xs) = Map. toList xs
0 commit comments