{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE StandaloneDeriving #-} {-# OPTIONS_GHC -Wno-orphans #-} module Test.Cardano.Ledger.Conformance.Orphans.Core where import Cardano.Ledger.Hashes (standardAddrHashSize) import Data.Default (Default) import MAlonzo.Code.Ledger.Core.Foreign.API as Agda import Test.Cardano.Ledger.Common (NFData, ToExpr) import Test.Cardano.Ledger.Conformance.Utils import Test.Cardano.Ledger.Conway.TreeDiff (Expr (..), ToExpr (..)) deriving instance Ord Credential deriving instance Ord RewardAddress instance (NFData k, NFData v) => NFData (HSMap k v) instance NFData a => NFData (HSSet a) instance NFData RewardAddress instance NFData BaseAddr instance NFData BootstrapAddr instance NFData Credential instance NFData HSVKey instance ToExpr a => ToExpr (HSSet a) instance ToExpr Credential where toExpr :: Credential -> Expr toExpr (KeyHashObj Integer h) = ConstructorName -> [Expr] -> Expr App ConstructorName "KeyHashObj" [ Int -> Integer -> Expr agdaHashToExpr Int standardAddrHashSize Integer h , Integer -> Expr forall a. ToExpr a => a -> Expr toExpr Integer h ] toExpr (ScriptObj Integer h) = ConstructorName -> [Expr] -> Expr App ConstructorName "ScriptObj" [ Int -> Integer -> Expr agdaHashToExpr Int standardAddrHashSize Integer h , Integer -> Expr forall a. ToExpr a => a -> Expr toExpr Integer h ] instance (ToExpr k, ToExpr v) => ToExpr (HSMap k v) instance ToExpr RewardAddress instance ToExpr BaseAddr instance ToExpr BootstrapAddr instance ToExpr HSVKey instance Default (HSMap k v) deriving instance Semigroup (HSMap k v) deriving instance Monoid (HSMap k v)