{-# LANGUAGE DataKinds #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -Wno-orphans #-} module Cardano.Ledger.Mary ( MaryEra, ShelleyTx, ShelleyTxOut, MaryValue, TxBody (..), Tx (..), ) where import Cardano.Ledger.Mary.BlockBody () import Cardano.Ledger.Mary.Era (MaryEra) import Cardano.Ledger.Mary.PParams () import Cardano.Ledger.Mary.Rules () import Cardano.Ledger.Mary.Scripts () import Cardano.Ledger.Mary.State () import Cardano.Ledger.Mary.Transition () import Cardano.Ledger.Mary.Translation () import Cardano.Ledger.Mary.Tx (Tx (..)) import Cardano.Ledger.Mary.TxAuxData () import Cardano.Ledger.Mary.TxBody (TxBody (..)) import Cardano.Ledger.Mary.UTxO () import Cardano.Ledger.Mary.Value (MaryValue) import Cardano.Ledger.Shelley.API instance ApplyTx MaryEra where applyTxValidation :: ValidationPolicy -> Globals -> MempoolEnv MaryEra -> MempoolState MaryEra -> Tx TopTx MaryEra -> Either (ApplyTxError MaryEra) (MempoolState MaryEra, Validated (Tx TopTx MaryEra)) applyTxValidation = forall (rule :: Symbol) era. (STS (EraRule rule era), BaseM (EraRule rule era) ~ ShelleyBase, Environment (EraRule rule era) ~ LedgerEnv era, State (EraRule rule era) ~ MempoolState era, Signal (EraRule rule era) ~ Tx TopTx era, PredicateFailure (EraRule rule era) ~ PredicateFailure (EraRule "LEDGER" era)) => ValidationPolicy -> Globals -> LedgerEnv era -> MempoolState era -> Tx TopTx era -> Either (ApplyTxError era) (MempoolState era, Validated (Tx TopTx era)) ruleApplyTxValidation @"LEDGER" instance ApplyBlock MaryEra