{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE MonoLocalBinds #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE UndecidableInstances #-}
{-# OPTIONS_GHC -Wno-orphans #-}
module Test.Cardano.Ledger.Alonzo.TreeDiff (
module Test.Cardano.Ledger.Mary.TreeDiff,
) where
import Cardano.Ledger.Alonzo (AlonzoEra)
import Cardano.Ledger.Alonzo.Core
import Cardano.Ledger.Alonzo.PParams
import Cardano.Ledger.Alonzo.Plutus.Context
import Cardano.Ledger.Alonzo.Plutus.Evaluate
import Cardano.Ledger.Alonzo.Plutus.TxInfo
import Cardano.Ledger.Alonzo.Rules
import Cardano.Ledger.Alonzo.Scripts
import Cardano.Ledger.Alonzo.Tx
import Cardano.Ledger.Alonzo.TxAuxData
import Cardano.Ledger.Alonzo.TxBody
import Cardano.Ledger.Alonzo.TxWits
import Cardano.Ledger.BaseTypes
import Cardano.Ledger.Compactible
import Cardano.Ledger.Plutus.Evaluate (PlutusWithContext (..))
import Cardano.Ledger.Shelley.Rules
import qualified Data.TreeDiff.OMap as OMap
import Test.Cardano.Ledger.Mary.TreeDiff
instance ToExpr (PlutusScript AlonzoEra)
instance ToExpr (PlutusScript era) => ToExpr (AlonzoScript era)
instance ToExpr (AlonzoPlutusPurpose AsIx era)
instance ToExpr (TxCert era) => ToExpr (AlonzoPlutusPurpose AsItem era)
deriving newtype instance ToExpr ix => ToExpr (AsIx ix it)
deriving newtype instance ToExpr it => ToExpr (AsItem ix it)
deriving newtype instance ToExpr CoinPerWord
instance ToExpr (AlonzoTxAuxDataRaw era)
instance ToExpr (AlonzoTxAuxData era)
deriving newtype instance ToExpr OrdExUnits
instance ToExpr (AlonzoPParams StrictMaybe era)
instance ToExpr (AlonzoPParams Identity era)
instance ToExpr (PlutusPurpose AsIx era) => ToExpr (RedeemersRaw era)
instance ToExpr (PlutusPurpose AsIx era) => ToExpr (Redeemers era)
instance
( Era era
, ToExpr (TxDats era)
, ToExpr (Redeemers era)
, ToExpr (Script era)
) =>
ToExpr (AlonzoTxWitsRaw era)
instance
( Era era
, ToExpr (TxDats era)
, ToExpr (Redeemers era)
, ToExpr (Script era)
) =>
ToExpr (AlonzoTxWits era)
instance ToExpr (Data era) => ToExpr (TxDatsRaw era)
instance ToExpr (Data era) => ToExpr (TxDats era)
instance ToExpr Addr28Extra
instance ToExpr DataHash32
instance ToExpr (CompactForm (Value era)) => ToExpr (AlonzoTxOut era)
instance ToExpr AlonzoTxBodyRaw
instance ToExpr (TxBody AlonzoEra)
instance ToExpr IsValid
instance
(ToExpr (TxBody era), ToExpr (TxWits era), ToExpr (TxAuxData era)) =>
ToExpr (AlonzoTx era)
instance ToExpr (AlonzoContextError era)
instance
( ToExpr (ContextError era)
, ToExpr (PlutusPurpose AsItem era)
, ToExpr (TxCert era)
) =>
ToExpr (CollectError era)
instance
( ToExpr (Value era)
, ToExpr (TxOut era)
, ToExpr (PredicateFailure (EraRule "UTXOS" era))
) =>
ToExpr (AlonzoUtxoPredFailure era)
instance ToExpr FailureDescription
instance ToExpr TagMismatchDescription
instance
( ToExpr (PlutusPurpose AsItem era)
, ToExpr (EraRuleFailure "PPUP" era)
, ToExpr (ContextError era)
, ToExpr (TxCert era)
) =>
ToExpr (AlonzoUtxosPredFailure era)
instance
( Era era
, ToExpr (PlutusPurpose AsIx era)
, ToExpr (PlutusPurpose AsItem era)
, ToExpr (PredicateFailure (EraRule "UTXO" era))
, ToExpr (TxCert era)
) =>
ToExpr (AlonzoUtxowPredFailure era)
instance ToExpr (Event (EraRule "UTXO" era)) => ToExpr (AlonzoUtxowEvent era)
instance ToExpr (Event (EraRule "UTXOS" era)) => ToExpr (AlonzoUtxoEvent era)
instance
( ToExpr (EraRuleEvent "PPUP" era)
, ToExpr (TxOut era)
, ToExpr PlutusWithContext
) =>
ToExpr (AlonzoUtxosEvent era)
instance
ToExpr ScriptHash =>
ToExpr PlutusWithContext
where
toExpr :: PlutusWithContext -> Expr
toExpr PlutusWithContext {Either (Plutus l) (PlutusRunnable l)
ScriptHash
CostModel
ExUnits
Version
PlutusArgs l
pwcProtocolVersion :: Version
pwcScript :: Either (Plutus l) (PlutusRunnable l)
pwcScriptHash :: ScriptHash
pwcArgs :: PlutusArgs l
pwcExUnits :: ExUnits
pwcCostModel :: CostModel
pwcProtocolVersion :: PlutusWithContext -> Version
pwcScript :: ()
pwcScriptHash :: PlutusWithContext -> ScriptHash
pwcArgs :: ()
pwcExUnits :: PlutusWithContext -> ExUnits
pwcCostModel :: PlutusWithContext -> CostModel
..} =
FieldName -> OMap FieldName Expr -> Expr
Rec FieldName
"PlutusWithContext" (OMap FieldName Expr -> Expr) -> OMap FieldName Expr -> Expr
forall a b. (a -> b) -> a -> b
$
[(FieldName, Expr)] -> OMap FieldName Expr
forall k v. Ord k => [(k, v)] -> OMap k v
OMap.fromList
[ (FieldName
"pwcProtocolVersion", Version -> Expr
forall a. ToExpr a => a -> Expr
toExpr Version
pwcProtocolVersion)
, (FieldName
"pwcScriptHash", ScriptHash -> Expr
forall a. ToExpr a => a -> Expr
toExpr ScriptHash
pwcScriptHash)
, (FieldName
"pwcExUnits", ExUnits -> Expr
forall a. ToExpr a => a -> Expr
toExpr ExUnits
pwcExUnits)
, (FieldName
"pwcCostModel", CostModel -> Expr
forall a. ToExpr a => a -> Expr
toExpr CostModel
pwcCostModel)
]