{-# LANGUAGE DataKinds #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -Wno-orphans #-}

module Cardano.Ledger.Alonzo.Rules.Delpl () where

import Cardano.Ledger.Alonzo.Era (AlonzoEra)
import Cardano.Ledger.Alonzo.Rules.Deleg ()
import Cardano.Ledger.Alonzo.Rules.Pool ()
import Cardano.Ledger.Core
import qualified Cardano.Ledger.Shelley.Rules as Shelley

type instance EraRuleFailure "DELPL" AlonzoEra = Shelley.ShelleyDelplPredFailure AlonzoEra

instance InjectRuleFailure "DELPL" Shelley.ShelleyDelplPredFailure AlonzoEra

instance InjectRuleFailure "DELPL" Shelley.ShelleyPoolPredFailure AlonzoEra where
  injectFailure :: ShelleyPoolPredFailure AlonzoEra
-> EraRuleFailure "DELPL" AlonzoEra
injectFailure = PredicateFailure (EraRule "POOL" AlonzoEra)
-> ShelleyDelplPredFailure AlonzoEra
ShelleyPoolPredFailure AlonzoEra
-> EraRuleFailure "DELPL" AlonzoEra
forall era.
PredicateFailure (EraRule "POOL" era)
-> ShelleyDelplPredFailure era
Shelley.PoolFailure

instance InjectRuleFailure "DELPL" Shelley.ShelleyDelegPredFailure AlonzoEra where
  injectFailure :: ShelleyDelegPredFailure AlonzoEra
-> EraRuleFailure "DELPL" AlonzoEra
injectFailure = PredicateFailure (EraRule "DELEG" AlonzoEra)
-> ShelleyDelplPredFailure AlonzoEra
ShelleyDelegPredFailure AlonzoEra
-> EraRuleFailure "DELPL" AlonzoEra
forall era.
PredicateFailure (EraRule "DELEG" era)
-> ShelleyDelplPredFailure era
Shelley.DelegFailure