{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE UndecidableInstances #-}
{-# OPTIONS_GHC -Wno-orphans #-}
module Cardano.Ledger.Dijkstra.Rules.Bbody (
DijkstraBBODY,
DijkstraBbodyPredFailure (..),
conwayToDijkstraBbodyPredFailure,
) where
import Cardano.Ledger.Allegra.Rules (AllegraUtxoPredFailure)
import Cardano.Ledger.Alonzo.PParams (AlonzoEraPParams)
import Cardano.Ledger.Alonzo.Rules (
AlonzoBbodyEvent (ShelleyInAlonzoEvent),
AlonzoBbodyPredFailure,
AlonzoUtxoPredFailure,
AlonzoUtxosPredFailure,
AlonzoUtxowPredFailure,
alonzoBbodyTransition,
)
import Cardano.Ledger.Alonzo.Scripts (ExUnits (..))
import Cardano.Ledger.Alonzo.Tx (AlonzoEraTx)
import Cardano.Ledger.Alonzo.TxWits (AlonzoEraTxWits (..))
import Cardano.Ledger.BHeaderView (BHeaderView (..))
import Cardano.Ledger.Babbage.Core (BabbageEraTxBody)
import Cardano.Ledger.Babbage.Rules (BabbageUtxoPredFailure, BabbageUtxowPredFailure)
import Cardano.Ledger.BaseTypes (
Mismatch (..),
Relation (..),
ShelleyBase,
)
import Cardano.Ledger.Binary (DecCBOR (..), EncCBOR (..))
import Cardano.Ledger.Binary.Coders (Decode (..), Encode (..), decode, encode, (!>), (<!))
import Cardano.Ledger.Block (Block (..))
import Cardano.Ledger.Conway.PParams (ConwayEraPParams (..))
import Cardano.Ledger.Conway.Rules (
ConwayBbodyPredFailure,
ConwayCertPredFailure,
ConwayCertsPredFailure,
ConwayDelegPredFailure,
ConwayGovPredFailure,
ConwayUtxosPredFailure,
alonzoToConwayBbodyPredFailure,
shelleyToConwayBbodyPredFailure,
)
import qualified Cardano.Ledger.Conway.Rules as Conway
import Cardano.Ledger.Core
import Cardano.Ledger.Dijkstra.Era (DijkstraBBODY, DijkstraEra)
import Cardano.Ledger.Dijkstra.Rules.Gov (DijkstraGovPredFailure)
import Cardano.Ledger.Dijkstra.Rules.GovCert (DijkstraGovCertPredFailure)
import Cardano.Ledger.Dijkstra.Rules.Ledger (DijkstraLedgerPredFailure)
import Cardano.Ledger.Dijkstra.Rules.Ledgers ()
import Cardano.Ledger.Dijkstra.Rules.Utxo (DijkstraUtxoPredFailure)
import Cardano.Ledger.Dijkstra.Rules.Utxow (DijkstraUtxowPredFailure)
import Cardano.Ledger.Shelley.LedgerState (LedgerState (..))
import Cardano.Ledger.Shelley.Rules (
BbodyEnv (..),
ShelleyBbodyPredFailure,
ShelleyBbodyState (..),
ShelleyLedgersEnv (..),
ShelleyLedgersPredFailure,
ShelleyPoolPredFailure,
ShelleyUtxoPredFailure,
ShelleyUtxowPredFailure,
)
import qualified Cardano.Ledger.Shelley.Rules as Shelley
import Control.State.Transition (
Embed (..),
STS (..),
)
import Data.Sequence (Seq)
import GHC.Generics (Generic)
import NoThunks.Class (NoThunks (..))
data DijkstraBbodyPredFailure era
= WrongBlockBodySizeBBODY (Mismatch RelEQ Int)
| InvalidBodyHashBBODY (Mismatch RelEQ (Hash HASH EraIndependentBlockBody))
|
LedgersFailure (PredicateFailure (EraRule "LEDGERS" era))
| TooManyExUnits (Mismatch RelLTEQ ExUnits)
| BodyRefScriptsSizeTooBig (Mismatch RelLTEQ Int)
deriving ((forall x.
DijkstraBbodyPredFailure era
-> Rep (DijkstraBbodyPredFailure era) x)
-> (forall x.
Rep (DijkstraBbodyPredFailure era) x
-> DijkstraBbodyPredFailure era)
-> Generic (DijkstraBbodyPredFailure era)
forall x.
Rep (DijkstraBbodyPredFailure era) x
-> DijkstraBbodyPredFailure era
forall x.
DijkstraBbodyPredFailure era
-> Rep (DijkstraBbodyPredFailure era) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall era x.
Rep (DijkstraBbodyPredFailure era) x
-> DijkstraBbodyPredFailure era
forall era x.
DijkstraBbodyPredFailure era
-> Rep (DijkstraBbodyPredFailure era) x
$cfrom :: forall era x.
DijkstraBbodyPredFailure era
-> Rep (DijkstraBbodyPredFailure era) x
from :: forall x.
DijkstraBbodyPredFailure era
-> Rep (DijkstraBbodyPredFailure era) x
$cto :: forall era x.
Rep (DijkstraBbodyPredFailure era) x
-> DijkstraBbodyPredFailure era
to :: forall x.
Rep (DijkstraBbodyPredFailure era) x
-> DijkstraBbodyPredFailure era
Generic)
deriving instance
(Era era, Show (PredicateFailure (EraRule "LEDGERS" era))) =>
Show (DijkstraBbodyPredFailure era)
deriving instance
(Era era, Eq (PredicateFailure (EraRule "LEDGERS" era))) =>
Eq (DijkstraBbodyPredFailure era)
deriving anyclass instance
(Era era, NoThunks (PredicateFailure (EraRule "LEDGERS" era))) =>
NoThunks (DijkstraBbodyPredFailure era)
instance
( Era era
, EncCBOR (PredicateFailure (EraRule "LEDGERS" era))
) =>
EncCBOR (DijkstraBbodyPredFailure era)
where
encCBOR :: DijkstraBbodyPredFailure era -> Encoding
encCBOR =
Encode Open (DijkstraBbodyPredFailure era) -> Encoding
forall (w :: Wrapped) t. Encode w t -> Encoding
encode (Encode Open (DijkstraBbodyPredFailure era) -> Encoding)
-> (DijkstraBbodyPredFailure era
-> Encode Open (DijkstraBbodyPredFailure era))
-> DijkstraBbodyPredFailure era
-> Encoding
forall b c a. (b -> c) -> (a -> b) -> a -> c
. \case
WrongBlockBodySizeBBODY Mismatch RelEQ Int
mm -> (Mismatch RelEQ Int -> DijkstraBbodyPredFailure era)
-> Word
-> Encode Open (Mismatch RelEQ Int -> DijkstraBbodyPredFailure era)
forall t. t -> Word -> Encode Open t
Sum Mismatch RelEQ Int -> DijkstraBbodyPredFailure era
forall era. Mismatch RelEQ Int -> DijkstraBbodyPredFailure era
WrongBlockBodySizeBBODY Word
0 Encode Open (Mismatch RelEQ Int -> DijkstraBbodyPredFailure era)
-> Encode (Closed Dense) (Mismatch RelEQ Int)
-> Encode Open (DijkstraBbodyPredFailure era)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Mismatch RelEQ Int -> Encode (Closed Dense) (Mismatch RelEQ Int)
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Mismatch RelEQ Int
mm
InvalidBodyHashBBODY Mismatch RelEQ (Hash HASH EraIndependentBlockBody)
mm -> (Mismatch RelEQ (Hash HASH EraIndependentBlockBody)
-> DijkstraBbodyPredFailure era)
-> Word
-> Encode
Open
(Mismatch RelEQ (Hash HASH EraIndependentBlockBody)
-> DijkstraBbodyPredFailure era)
forall t. t -> Word -> Encode Open t
Sum (forall era.
Mismatch RelEQ (Hash HASH EraIndependentBlockBody)
-> DijkstraBbodyPredFailure era
InvalidBodyHashBBODY @era) Word
1 Encode
Open
(Mismatch RelEQ (Hash HASH EraIndependentBlockBody)
-> DijkstraBbodyPredFailure era)
-> Encode
(Closed Dense) (Mismatch RelEQ (Hash HASH EraIndependentBlockBody))
-> Encode Open (DijkstraBbodyPredFailure era)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Mismatch RelEQ (Hash HASH EraIndependentBlockBody)
-> Encode
(Closed Dense) (Mismatch RelEQ (Hash HASH EraIndependentBlockBody))
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Mismatch RelEQ (Hash HASH EraIndependentBlockBody)
mm
LedgersFailure PredicateFailure (EraRule "LEDGERS" era)
x -> (PredicateFailure (EraRule "LEDGERS" era)
-> DijkstraBbodyPredFailure era)
-> Word
-> Encode
Open
(PredicateFailure (EraRule "LEDGERS" era)
-> DijkstraBbodyPredFailure era)
forall t. t -> Word -> Encode Open t
Sum (forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> DijkstraBbodyPredFailure era
LedgersFailure @era) Word
2 Encode
Open
(PredicateFailure (EraRule "LEDGERS" era)
-> DijkstraBbodyPredFailure era)
-> Encode (Closed Dense) (PredicateFailure (EraRule "LEDGERS" era))
-> Encode Open (DijkstraBbodyPredFailure era)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> PredicateFailure (EraRule "LEDGERS" era)
-> Encode (Closed Dense) (PredicateFailure (EraRule "LEDGERS" era))
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To PredicateFailure (EraRule "LEDGERS" era)
x
TooManyExUnits Mismatch RelLTEQ ExUnits
mm -> (Mismatch RelLTEQ ExUnits -> DijkstraBbodyPredFailure era)
-> Word
-> Encode
Open (Mismatch RelLTEQ ExUnits -> DijkstraBbodyPredFailure era)
forall t. t -> Word -> Encode Open t
Sum Mismatch RelLTEQ ExUnits -> DijkstraBbodyPredFailure era
forall era.
Mismatch RelLTEQ ExUnits -> DijkstraBbodyPredFailure era
TooManyExUnits Word
3 Encode
Open (Mismatch RelLTEQ ExUnits -> DijkstraBbodyPredFailure era)
-> Encode (Closed Dense) (Mismatch RelLTEQ ExUnits)
-> Encode Open (DijkstraBbodyPredFailure era)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Mismatch RelLTEQ ExUnits
-> Encode (Closed Dense) (Mismatch RelLTEQ ExUnits)
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Mismatch RelLTEQ ExUnits
mm
BodyRefScriptsSizeTooBig Mismatch RelLTEQ Int
mm -> (Mismatch RelLTEQ Int -> DijkstraBbodyPredFailure era)
-> Word
-> Encode
Open (Mismatch RelLTEQ Int -> DijkstraBbodyPredFailure era)
forall t. t -> Word -> Encode Open t
Sum Mismatch RelLTEQ Int -> DijkstraBbodyPredFailure era
forall era. Mismatch RelLTEQ Int -> DijkstraBbodyPredFailure era
BodyRefScriptsSizeTooBig Word
4 Encode Open (Mismatch RelLTEQ Int -> DijkstraBbodyPredFailure era)
-> Encode (Closed Dense) (Mismatch RelLTEQ Int)
-> Encode Open (DijkstraBbodyPredFailure era)
forall (w :: Wrapped) a t (r :: Density).
Encode w (a -> t) -> Encode (Closed r) a -> Encode w t
!> Mismatch RelLTEQ Int
-> Encode (Closed Dense) (Mismatch RelLTEQ Int)
forall t. EncCBOR t => t -> Encode (Closed Dense) t
To Mismatch RelLTEQ Int
mm
instance
( Era era
, DecCBOR (PredicateFailure (EraRule "LEDGERS" era))
) =>
DecCBOR (DijkstraBbodyPredFailure era)
where
decCBOR :: forall s. Decoder s (DijkstraBbodyPredFailure era)
decCBOR = Decode (Closed Dense) (DijkstraBbodyPredFailure era)
-> Decoder s (DijkstraBbodyPredFailure era)
forall t (w :: Wrapped) s. Typeable t => Decode w t -> Decoder s t
decode (Decode (Closed Dense) (DijkstraBbodyPredFailure era)
-> Decoder s (DijkstraBbodyPredFailure era))
-> ((Word -> Decode Open (DijkstraBbodyPredFailure era))
-> Decode (Closed Dense) (DijkstraBbodyPredFailure era))
-> (Word -> Decode Open (DijkstraBbodyPredFailure era))
-> Decoder s (DijkstraBbodyPredFailure era)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Text
-> (Word -> Decode Open (DijkstraBbodyPredFailure era))
-> Decode (Closed Dense) (DijkstraBbodyPredFailure era)
forall t.
Text -> (Word -> Decode Open t) -> Decode (Closed Dense) t
Summands Text
"ConwayBbodyPred" ((Word -> Decode Open (DijkstraBbodyPredFailure era))
-> Decoder s (DijkstraBbodyPredFailure era))
-> (Word -> Decode Open (DijkstraBbodyPredFailure era))
-> Decoder s (DijkstraBbodyPredFailure era)
forall a b. (a -> b) -> a -> b
$ \case
Word
0 -> (Mismatch RelEQ Int -> DijkstraBbodyPredFailure era)
-> Decode Open (Mismatch RelEQ Int -> DijkstraBbodyPredFailure era)
forall t. t -> Decode Open t
SumD Mismatch RelEQ Int -> DijkstraBbodyPredFailure era
forall era. Mismatch RelEQ Int -> DijkstraBbodyPredFailure era
WrongBlockBodySizeBBODY Decode Open (Mismatch RelEQ Int -> DijkstraBbodyPredFailure era)
-> Decode (Closed (ZonkAny 0)) (Mismatch RelEQ Int)
-> Decode Open (DijkstraBbodyPredFailure era)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 0)) (Mismatch RelEQ Int)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
1 -> (Mismatch RelEQ (Hash HASH EraIndependentBlockBody)
-> DijkstraBbodyPredFailure era)
-> Decode
Open
(Mismatch RelEQ (Hash HASH EraIndependentBlockBody)
-> DijkstraBbodyPredFailure era)
forall t. t -> Decode Open t
SumD Mismatch RelEQ (Hash HASH EraIndependentBlockBody)
-> DijkstraBbodyPredFailure era
forall era.
Mismatch RelEQ (Hash HASH EraIndependentBlockBody)
-> DijkstraBbodyPredFailure era
InvalidBodyHashBBODY Decode
Open
(Mismatch RelEQ (Hash HASH EraIndependentBlockBody)
-> DijkstraBbodyPredFailure era)
-> Decode
(Closed (ZonkAny 1))
(Mismatch RelEQ (Hash HASH EraIndependentBlockBody))
-> Decode Open (DijkstraBbodyPredFailure era)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode
(Closed (ZonkAny 1))
(Mismatch RelEQ (Hash HASH EraIndependentBlockBody))
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
2 -> (PredicateFailure (EraRule "LEDGERS" era)
-> DijkstraBbodyPredFailure era)
-> Decode
Open
(PredicateFailure (EraRule "LEDGERS" era)
-> DijkstraBbodyPredFailure era)
forall t. t -> Decode Open t
SumD PredicateFailure (EraRule "LEDGERS" era)
-> DijkstraBbodyPredFailure era
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> DijkstraBbodyPredFailure era
LedgersFailure Decode
Open
(PredicateFailure (EraRule "LEDGERS" era)
-> DijkstraBbodyPredFailure era)
-> Decode
(Closed (ZonkAny 2)) (PredicateFailure (EraRule "LEDGERS" era))
-> Decode Open (DijkstraBbodyPredFailure era)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode
(Closed (ZonkAny 2)) (PredicateFailure (EraRule "LEDGERS" era))
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
3 -> (Mismatch RelLTEQ ExUnits -> DijkstraBbodyPredFailure era)
-> Decode
Open (Mismatch RelLTEQ ExUnits -> DijkstraBbodyPredFailure era)
forall t. t -> Decode Open t
SumD Mismatch RelLTEQ ExUnits -> DijkstraBbodyPredFailure era
forall era.
Mismatch RelLTEQ ExUnits -> DijkstraBbodyPredFailure era
TooManyExUnits Decode
Open (Mismatch RelLTEQ ExUnits -> DijkstraBbodyPredFailure era)
-> Decode (Closed (ZonkAny 3)) (Mismatch RelLTEQ ExUnits)
-> Decode Open (DijkstraBbodyPredFailure era)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 3)) (Mismatch RelLTEQ ExUnits)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
4 -> (Mismatch RelLTEQ Int -> DijkstraBbodyPredFailure era)
-> Decode
Open (Mismatch RelLTEQ Int -> DijkstraBbodyPredFailure era)
forall t. t -> Decode Open t
SumD Mismatch RelLTEQ Int -> DijkstraBbodyPredFailure era
forall era. Mismatch RelLTEQ Int -> DijkstraBbodyPredFailure era
BodyRefScriptsSizeTooBig Decode Open (Mismatch RelLTEQ Int -> DijkstraBbodyPredFailure era)
-> Decode (Closed (ZonkAny 4)) (Mismatch RelLTEQ Int)
-> Decode Open (DijkstraBbodyPredFailure era)
forall a (w1 :: Wrapped) t (w :: Density).
Typeable a =>
Decode w1 (a -> t) -> Decode (Closed w) a -> Decode w1 t
<! Decode (Closed (ZonkAny 4)) (Mismatch RelLTEQ Int)
forall t (w :: Wrapped). DecCBOR t => Decode w t
From
Word
n -> Word -> Decode Open (DijkstraBbodyPredFailure era)
forall (w :: Wrapped) t. Word -> Decode w t
Invalid Word
n
type instance EraRuleFailure "BBODY" DijkstraEra = DijkstraBbodyPredFailure DijkstraEra
type instance EraRuleEvent "BBODY" DijkstraEra = AlonzoBbodyEvent DijkstraEra
instance InjectRuleFailure "BBODY" DijkstraBbodyPredFailure DijkstraEra
instance InjectRuleFailure "BBODY" ConwayBbodyPredFailure DijkstraEra where
injectFailure :: ConwayBbodyPredFailure DijkstraEra
-> EraRuleFailure "BBODY" DijkstraEra
injectFailure = ConwayBbodyPredFailure DijkstraEra
-> EraRuleFailure "BBODY" DijkstraEra
ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall era.
ConwayBbodyPredFailure era -> DijkstraBbodyPredFailure era
conwayToDijkstraBbodyPredFailure
instance InjectRuleFailure "BBODY" AlonzoBbodyPredFailure DijkstraEra where
injectFailure :: AlonzoBbodyPredFailure DijkstraEra
-> EraRuleFailure "BBODY" DijkstraEra
injectFailure = ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall era.
ConwayBbodyPredFailure era -> DijkstraBbodyPredFailure era
conwayToDijkstraBbodyPredFailure (ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra)
-> (AlonzoBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> AlonzoBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. AlonzoBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall era.
AlonzoBbodyPredFailure era -> ConwayBbodyPredFailure era
alonzoToConwayBbodyPredFailure
instance InjectRuleFailure "BBODY" ShelleyBbodyPredFailure DijkstraEra where
injectFailure :: ShelleyBbodyPredFailure DijkstraEra
-> EraRuleFailure "BBODY" DijkstraEra
injectFailure = ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall era.
ConwayBbodyPredFailure era -> DijkstraBbodyPredFailure era
conwayToDijkstraBbodyPredFailure (ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra)
-> (ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> ShelleyBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall era.
ShelleyBbodyPredFailure era -> ConwayBbodyPredFailure era
shelleyToConwayBbodyPredFailure
instance InjectRuleFailure "BBODY" ShelleyLedgersPredFailure DijkstraEra where
injectFailure :: ShelleyLedgersPredFailure DijkstraEra
-> EraRuleFailure "BBODY" DijkstraEra
injectFailure = ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall era.
ConwayBbodyPredFailure era -> DijkstraBbodyPredFailure era
conwayToDijkstraBbodyPredFailure (ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra)
-> (ShelleyLedgersPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> ShelleyLedgersPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall era.
ShelleyBbodyPredFailure era -> ConwayBbodyPredFailure era
shelleyToConwayBbodyPredFailure (ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> (ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> ShelleyLedgersPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" DijkstraEra)
-> ShelleyBbodyPredFailure DijkstraEra
ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure
instance InjectRuleFailure "BBODY" DijkstraLedgerPredFailure DijkstraEra where
injectFailure :: DijkstraLedgerPredFailure DijkstraEra
-> EraRuleFailure "BBODY" DijkstraEra
injectFailure =
ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall era.
ConwayBbodyPredFailure era -> DijkstraBbodyPredFailure era
conwayToDijkstraBbodyPredFailure
(ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra)
-> (DijkstraLedgerPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> DijkstraLedgerPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall era.
ShelleyBbodyPredFailure era -> ConwayBbodyPredFailure era
shelleyToConwayBbodyPredFailure
(ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> (DijkstraLedgerPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> DijkstraLedgerPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" DijkstraEra)
-> ShelleyBbodyPredFailure DijkstraEra
ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure
(ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> (DijkstraLedgerPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra)
-> DijkstraLedgerPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraLedgerPredFailure DijkstraEra
-> EraRuleFailure "LEDGERS" DijkstraEra
DijkstraLedgerPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure
instance InjectRuleFailure "BBODY" DijkstraUtxowPredFailure DijkstraEra where
injectFailure :: DijkstraUtxowPredFailure DijkstraEra
-> EraRuleFailure "BBODY" DijkstraEra
injectFailure =
ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall era.
ConwayBbodyPredFailure era -> DijkstraBbodyPredFailure era
conwayToDijkstraBbodyPredFailure
(ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra)
-> (DijkstraUtxowPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> DijkstraUtxowPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall era.
ShelleyBbodyPredFailure era -> ConwayBbodyPredFailure era
shelleyToConwayBbodyPredFailure
(ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> (DijkstraUtxowPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> DijkstraUtxowPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" DijkstraEra)
-> ShelleyBbodyPredFailure DijkstraEra
ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure
(ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> (DijkstraUtxowPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra)
-> DijkstraUtxowPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraUtxowPredFailure DijkstraEra
-> EraRuleFailure "LEDGERS" DijkstraEra
DijkstraUtxowPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure
instance InjectRuleFailure "BBODY" BabbageUtxowPredFailure DijkstraEra where
injectFailure :: BabbageUtxowPredFailure DijkstraEra
-> EraRuleFailure "BBODY" DijkstraEra
injectFailure =
ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall era.
ConwayBbodyPredFailure era -> DijkstraBbodyPredFailure era
conwayToDijkstraBbodyPredFailure
(ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra)
-> (BabbageUtxowPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> BabbageUtxowPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall era.
ShelleyBbodyPredFailure era -> ConwayBbodyPredFailure era
shelleyToConwayBbodyPredFailure
(ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> (BabbageUtxowPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> BabbageUtxowPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" DijkstraEra)
-> ShelleyBbodyPredFailure DijkstraEra
ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure
(ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> (BabbageUtxowPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra)
-> BabbageUtxowPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. BabbageUtxowPredFailure DijkstraEra
-> EraRuleFailure "LEDGERS" DijkstraEra
BabbageUtxowPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure
instance InjectRuleFailure "BBODY" AlonzoUtxowPredFailure DijkstraEra where
injectFailure :: AlonzoUtxowPredFailure DijkstraEra
-> EraRuleFailure "BBODY" DijkstraEra
injectFailure =
ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall era.
ConwayBbodyPredFailure era -> DijkstraBbodyPredFailure era
conwayToDijkstraBbodyPredFailure
(ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra)
-> (AlonzoUtxowPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> AlonzoUtxowPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall era.
ShelleyBbodyPredFailure era -> ConwayBbodyPredFailure era
shelleyToConwayBbodyPredFailure
(ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> (AlonzoUtxowPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> AlonzoUtxowPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" DijkstraEra)
-> ShelleyBbodyPredFailure DijkstraEra
ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure
(ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> (AlonzoUtxowPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra)
-> AlonzoUtxowPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. AlonzoUtxowPredFailure DijkstraEra
-> EraRuleFailure "LEDGERS" DijkstraEra
AlonzoUtxowPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure
instance InjectRuleFailure "BBODY" ShelleyUtxowPredFailure DijkstraEra where
injectFailure :: ShelleyUtxowPredFailure DijkstraEra
-> EraRuleFailure "BBODY" DijkstraEra
injectFailure =
ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall era.
ConwayBbodyPredFailure era -> DijkstraBbodyPredFailure era
conwayToDijkstraBbodyPredFailure
(ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra)
-> (ShelleyUtxowPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> ShelleyUtxowPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall era.
ShelleyBbodyPredFailure era -> ConwayBbodyPredFailure era
shelleyToConwayBbodyPredFailure
(ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> (ShelleyUtxowPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> ShelleyUtxowPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" DijkstraEra)
-> ShelleyBbodyPredFailure DijkstraEra
ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure
(ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> (ShelleyUtxowPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra)
-> ShelleyUtxowPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyUtxowPredFailure DijkstraEra
-> EraRuleFailure "LEDGERS" DijkstraEra
ShelleyUtxowPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure
instance InjectRuleFailure "BBODY" DijkstraUtxoPredFailure DijkstraEra where
injectFailure :: DijkstraUtxoPredFailure DijkstraEra
-> EraRuleFailure "BBODY" DijkstraEra
injectFailure =
ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall era.
ConwayBbodyPredFailure era -> DijkstraBbodyPredFailure era
conwayToDijkstraBbodyPredFailure
(ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra)
-> (DijkstraUtxoPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> DijkstraUtxoPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall era.
ShelleyBbodyPredFailure era -> ConwayBbodyPredFailure era
shelleyToConwayBbodyPredFailure
(ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> (DijkstraUtxoPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> DijkstraUtxoPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" DijkstraEra)
-> ShelleyBbodyPredFailure DijkstraEra
ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure
(ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> (DijkstraUtxoPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra)
-> DijkstraUtxoPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraUtxoPredFailure DijkstraEra
-> EraRuleFailure "LEDGERS" DijkstraEra
DijkstraUtxoPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure
instance InjectRuleFailure "BBODY" BabbageUtxoPredFailure DijkstraEra where
injectFailure :: BabbageUtxoPredFailure DijkstraEra
-> EraRuleFailure "BBODY" DijkstraEra
injectFailure =
ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall era.
ConwayBbodyPredFailure era -> DijkstraBbodyPredFailure era
conwayToDijkstraBbodyPredFailure
(ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra)
-> (BabbageUtxoPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> BabbageUtxoPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall era.
ShelleyBbodyPredFailure era -> ConwayBbodyPredFailure era
shelleyToConwayBbodyPredFailure
(ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> (BabbageUtxoPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> BabbageUtxoPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" DijkstraEra)
-> ShelleyBbodyPredFailure DijkstraEra
ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure
(ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> (BabbageUtxoPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra)
-> BabbageUtxoPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. BabbageUtxoPredFailure DijkstraEra
-> EraRuleFailure "LEDGERS" DijkstraEra
BabbageUtxoPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure
instance InjectRuleFailure "BBODY" AlonzoUtxoPredFailure DijkstraEra where
injectFailure :: AlonzoUtxoPredFailure DijkstraEra
-> EraRuleFailure "BBODY" DijkstraEra
injectFailure =
ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall era.
ConwayBbodyPredFailure era -> DijkstraBbodyPredFailure era
conwayToDijkstraBbodyPredFailure
(ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra)
-> (AlonzoUtxoPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> AlonzoUtxoPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall era.
ShelleyBbodyPredFailure era -> ConwayBbodyPredFailure era
shelleyToConwayBbodyPredFailure
(ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> (AlonzoUtxoPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> AlonzoUtxoPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" DijkstraEra)
-> ShelleyBbodyPredFailure DijkstraEra
ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure
(ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> (AlonzoUtxoPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra)
-> AlonzoUtxoPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. AlonzoUtxoPredFailure DijkstraEra
-> EraRuleFailure "LEDGERS" DijkstraEra
AlonzoUtxoPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure
instance InjectRuleFailure "BBODY" AlonzoUtxosPredFailure DijkstraEra where
injectFailure :: AlonzoUtxosPredFailure DijkstraEra
-> EraRuleFailure "BBODY" DijkstraEra
injectFailure =
ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall era.
ConwayBbodyPredFailure era -> DijkstraBbodyPredFailure era
conwayToDijkstraBbodyPredFailure
(ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra)
-> (AlonzoUtxosPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> AlonzoUtxosPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall era.
ShelleyBbodyPredFailure era -> ConwayBbodyPredFailure era
shelleyToConwayBbodyPredFailure
(ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> (AlonzoUtxosPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> AlonzoUtxosPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" DijkstraEra)
-> ShelleyBbodyPredFailure DijkstraEra
ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure
(ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> (AlonzoUtxosPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra)
-> AlonzoUtxosPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. AlonzoUtxosPredFailure DijkstraEra
-> EraRuleFailure "LEDGERS" DijkstraEra
AlonzoUtxosPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure
instance InjectRuleFailure "BBODY" ConwayUtxosPredFailure DijkstraEra where
injectFailure :: ConwayUtxosPredFailure DijkstraEra
-> EraRuleFailure "BBODY" DijkstraEra
injectFailure =
ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall era.
ConwayBbodyPredFailure era -> DijkstraBbodyPredFailure era
conwayToDijkstraBbodyPredFailure
(ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra)
-> (ConwayUtxosPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> ConwayUtxosPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall era.
ShelleyBbodyPredFailure era -> ConwayBbodyPredFailure era
shelleyToConwayBbodyPredFailure
(ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> (ConwayUtxosPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> ConwayUtxosPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" DijkstraEra)
-> ShelleyBbodyPredFailure DijkstraEra
ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure
(ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> (ConwayUtxosPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra)
-> ConwayUtxosPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayUtxosPredFailure DijkstraEra
-> EraRuleFailure "LEDGERS" DijkstraEra
ConwayUtxosPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure
instance InjectRuleFailure "BBODY" ShelleyUtxoPredFailure DijkstraEra where
injectFailure :: ShelleyUtxoPredFailure DijkstraEra
-> EraRuleFailure "BBODY" DijkstraEra
injectFailure =
ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall era.
ConwayBbodyPredFailure era -> DijkstraBbodyPredFailure era
conwayToDijkstraBbodyPredFailure
(ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra)
-> (ShelleyUtxoPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> ShelleyUtxoPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall era.
ShelleyBbodyPredFailure era -> ConwayBbodyPredFailure era
shelleyToConwayBbodyPredFailure
(ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> (ShelleyUtxoPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> ShelleyUtxoPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" DijkstraEra)
-> ShelleyBbodyPredFailure DijkstraEra
ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure
(ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> (ShelleyUtxoPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra)
-> ShelleyUtxoPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyUtxoPredFailure DijkstraEra
-> EraRuleFailure "LEDGERS" DijkstraEra
ShelleyUtxoPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure
instance InjectRuleFailure "BBODY" AllegraUtxoPredFailure DijkstraEra where
injectFailure :: AllegraUtxoPredFailure DijkstraEra
-> EraRuleFailure "BBODY" DijkstraEra
injectFailure =
ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall era.
ConwayBbodyPredFailure era -> DijkstraBbodyPredFailure era
conwayToDijkstraBbodyPredFailure
(ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra)
-> (AllegraUtxoPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> AllegraUtxoPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall era.
ShelleyBbodyPredFailure era -> ConwayBbodyPredFailure era
shelleyToConwayBbodyPredFailure
(ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> (AllegraUtxoPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> AllegraUtxoPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" DijkstraEra)
-> ShelleyBbodyPredFailure DijkstraEra
ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure
(ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> (AllegraUtxoPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra)
-> AllegraUtxoPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. AllegraUtxoPredFailure DijkstraEra
-> EraRuleFailure "LEDGERS" DijkstraEra
AllegraUtxoPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure
instance InjectRuleFailure "BBODY" ConwayCertsPredFailure DijkstraEra where
injectFailure :: ConwayCertsPredFailure DijkstraEra
-> EraRuleFailure "BBODY" DijkstraEra
injectFailure =
ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall era.
ConwayBbodyPredFailure era -> DijkstraBbodyPredFailure era
conwayToDijkstraBbodyPredFailure
(ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra)
-> (ConwayCertsPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> ConwayCertsPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall era.
ShelleyBbodyPredFailure era -> ConwayBbodyPredFailure era
shelleyToConwayBbodyPredFailure
(ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> (ConwayCertsPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> ConwayCertsPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" DijkstraEra)
-> ShelleyBbodyPredFailure DijkstraEra
ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure
(ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> (ConwayCertsPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra)
-> ConwayCertsPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayCertsPredFailure DijkstraEra
-> EraRuleFailure "LEDGERS" DijkstraEra
ConwayCertsPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure
instance InjectRuleFailure "BBODY" ConwayCertPredFailure DijkstraEra where
injectFailure :: ConwayCertPredFailure DijkstraEra
-> EraRuleFailure "BBODY" DijkstraEra
injectFailure =
ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall era.
ConwayBbodyPredFailure era -> DijkstraBbodyPredFailure era
conwayToDijkstraBbodyPredFailure
(ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra)
-> (ConwayCertPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> ConwayCertPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall era.
ShelleyBbodyPredFailure era -> ConwayBbodyPredFailure era
shelleyToConwayBbodyPredFailure
(ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> (ConwayCertPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> ConwayCertPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" DijkstraEra)
-> ShelleyBbodyPredFailure DijkstraEra
ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure
(ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> (ConwayCertPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra)
-> ConwayCertPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayCertPredFailure DijkstraEra
-> EraRuleFailure "LEDGERS" DijkstraEra
ConwayCertPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure
instance InjectRuleFailure "BBODY" ConwayDelegPredFailure DijkstraEra where
injectFailure :: ConwayDelegPredFailure DijkstraEra
-> EraRuleFailure "BBODY" DijkstraEra
injectFailure =
ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall era.
ConwayBbodyPredFailure era -> DijkstraBbodyPredFailure era
conwayToDijkstraBbodyPredFailure
(ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra)
-> (ConwayDelegPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> ConwayDelegPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall era.
ShelleyBbodyPredFailure era -> ConwayBbodyPredFailure era
shelleyToConwayBbodyPredFailure
(ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> (ConwayDelegPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> ConwayDelegPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" DijkstraEra)
-> ShelleyBbodyPredFailure DijkstraEra
ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure
(ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> (ConwayDelegPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra)
-> ConwayDelegPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayDelegPredFailure DijkstraEra
-> EraRuleFailure "LEDGERS" DijkstraEra
ConwayDelegPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure
instance InjectRuleFailure "BBODY" ShelleyPoolPredFailure DijkstraEra where
injectFailure :: ShelleyPoolPredFailure DijkstraEra
-> EraRuleFailure "BBODY" DijkstraEra
injectFailure =
ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall era.
ConwayBbodyPredFailure era -> DijkstraBbodyPredFailure era
conwayToDijkstraBbodyPredFailure
(ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra)
-> (ShelleyPoolPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> ShelleyPoolPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall era.
ShelleyBbodyPredFailure era -> ConwayBbodyPredFailure era
shelleyToConwayBbodyPredFailure
(ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> (ShelleyPoolPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> ShelleyPoolPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" DijkstraEra)
-> ShelleyBbodyPredFailure DijkstraEra
ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure
(ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> (ShelleyPoolPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra)
-> ShelleyPoolPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyPoolPredFailure DijkstraEra
-> EraRuleFailure "LEDGERS" DijkstraEra
ShelleyPoolPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure
instance InjectRuleFailure "BBODY" DijkstraGovCertPredFailure DijkstraEra where
injectFailure :: DijkstraGovCertPredFailure DijkstraEra
-> EraRuleFailure "BBODY" DijkstraEra
injectFailure =
ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall era.
ConwayBbodyPredFailure era -> DijkstraBbodyPredFailure era
conwayToDijkstraBbodyPredFailure
(ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra)
-> (DijkstraGovCertPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> DijkstraGovCertPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall era.
ShelleyBbodyPredFailure era -> ConwayBbodyPredFailure era
shelleyToConwayBbodyPredFailure
(ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> (DijkstraGovCertPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> DijkstraGovCertPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" DijkstraEra)
-> ShelleyBbodyPredFailure DijkstraEra
ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure
(ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> (DijkstraGovCertPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra)
-> DijkstraGovCertPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraGovCertPredFailure DijkstraEra
-> EraRuleFailure "LEDGERS" DijkstraEra
DijkstraGovCertPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure
instance InjectRuleFailure "BBODY" ConwayGovPredFailure DijkstraEra where
injectFailure :: ConwayGovPredFailure DijkstraEra
-> EraRuleFailure "BBODY" DijkstraEra
injectFailure =
ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall era.
ConwayBbodyPredFailure era -> DijkstraBbodyPredFailure era
conwayToDijkstraBbodyPredFailure
(ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra)
-> (ConwayGovPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> ConwayGovPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall era.
ShelleyBbodyPredFailure era -> ConwayBbodyPredFailure era
shelleyToConwayBbodyPredFailure
(ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> (ConwayGovPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> ConwayGovPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" DijkstraEra)
-> ShelleyBbodyPredFailure DijkstraEra
ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure
(ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> (ConwayGovPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra)
-> ConwayGovPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConwayGovPredFailure DijkstraEra
-> EraRuleFailure "LEDGERS" DijkstraEra
ConwayGovPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure
instance InjectRuleFailure "BBODY" DijkstraGovPredFailure DijkstraEra where
injectFailure :: DijkstraGovPredFailure DijkstraEra
-> EraRuleFailure "BBODY" DijkstraEra
injectFailure =
ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall era.
ConwayBbodyPredFailure era -> DijkstraBbodyPredFailure era
conwayToDijkstraBbodyPredFailure
(ConwayBbodyPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra)
-> (DijkstraGovPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> DijkstraGovPredFailure DijkstraEra
-> DijkstraBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall era.
ShelleyBbodyPredFailure era -> ConwayBbodyPredFailure era
shelleyToConwayBbodyPredFailure
(ShelleyBbodyPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra)
-> (DijkstraGovPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> DijkstraGovPredFailure DijkstraEra
-> ConwayBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. PredicateFailure (EraRule "LEDGERS" DijkstraEra)
-> ShelleyBbodyPredFailure DijkstraEra
ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> ShelleyBbodyPredFailure era
Shelley.LedgersFailure
(ShelleyLedgersPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra)
-> (DijkstraGovPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra)
-> DijkstraGovPredFailure DijkstraEra
-> ShelleyBbodyPredFailure DijkstraEra
forall b c a. (b -> c) -> (a -> b) -> a -> c
. DijkstraGovPredFailure DijkstraEra
-> EraRuleFailure "LEDGERS" DijkstraEra
DijkstraGovPredFailure DijkstraEra
-> ShelleyLedgersPredFailure DijkstraEra
forall (rule :: Symbol) (t :: * -> *) era.
InjectRuleFailure rule t era =>
t era -> EraRuleFailure rule era
injectFailure
instance
( Embed (EraRule "LEDGERS" era) (EraRule "BBODY" era)
, Environment (EraRule "LEDGERS" era) ~ ShelleyLedgersEnv era
, State (EraRule "LEDGERS" era) ~ LedgerState era
, Signal (EraRule "LEDGERS" era) ~ Seq (Tx TopTx era)
, AlonzoEraTxWits era
, EraBlockBody era
, AlonzoEraPParams era
, InjectRuleFailure "BBODY" AlonzoBbodyPredFailure era
, InjectRuleFailure "BBODY" ConwayBbodyPredFailure era
, EraRule "BBODY" era ~ DijkstraBBODY era
, AlonzoEraTx era
, BabbageEraTxBody era
, ConwayEraPParams era
) =>
STS (DijkstraBBODY era)
where
type State (DijkstraBBODY era) = ShelleyBbodyState era
type Signal (DijkstraBBODY era) = Block BHeaderView era
type Environment (DijkstraBBODY era) = BbodyEnv era
type BaseM (DijkstraBBODY era) = ShelleyBase
type PredicateFailure (DijkstraBBODY era) = DijkstraBbodyPredFailure era
type Event (DijkstraBBODY era) = AlonzoBbodyEvent era
initialRules :: [InitialRule (DijkstraBBODY era)]
initialRules = []
transitionRules :: [TransitionRule (DijkstraBBODY era)]
transitionRules = [forall era.
(Signal (EraRule "BBODY" era) ~ Block BHeaderView era,
State (EraRule "BBODY" era) ~ ShelleyBbodyState era,
Environment (EraRule "BBODY" era) ~ BbodyEnv era,
State (EraRule "LEDGERS" era) ~ LedgerState era,
InjectRuleFailure "BBODY" AlonzoBbodyPredFailure era,
InjectRuleFailure "BBODY" ConwayBbodyPredFailure era,
AlonzoEraTx era, EraBlockBody era, BabbageEraTxBody era,
ConwayEraPParams era) =>
TransitionRule (EraRule "BBODY" era)
Conway.conwayBbodyTransition @era F (Clause (DijkstraBBODY era) 'Transition) (ShelleyBbodyState era)
-> F (Clause (DijkstraBBODY era) 'Transition)
(ShelleyBbodyState era)
-> F (Clause (DijkstraBBODY era) 'Transition)
(ShelleyBbodyState era)
forall a b.
F (Clause (DijkstraBBODY era) 'Transition) a
-> F (Clause (DijkstraBBODY era) 'Transition) b
-> F (Clause (DijkstraBBODY era) 'Transition) b
forall (m :: * -> *) a b. Monad m => m a -> m b -> m b
>> forall era.
(STS (EraRule "BBODY" era),
Signal (EraRule "BBODY" era) ~ Block BHeaderView era,
InjectRuleFailure "BBODY" AlonzoBbodyPredFailure era,
BaseM (EraRule "BBODY" era) ~ ShelleyBase,
State (EraRule "BBODY" era) ~ ShelleyBbodyState era,
Environment (EraRule "BBODY" era) ~ BbodyEnv era,
Embed (EraRule "LEDGERS" era) (EraRule "BBODY" era),
Environment (EraRule "LEDGERS" era) ~ ShelleyLedgersEnv era,
State (EraRule "LEDGERS" era) ~ LedgerState era,
Signal (EraRule "LEDGERS" era) ~ Seq (Tx TopTx era),
EraBlockBody era, AlonzoEraTxWits era, AlonzoEraPParams era) =>
TransitionRule (EraRule "BBODY" era)
alonzoBbodyTransition @era]
conwayToDijkstraBbodyPredFailure ::
forall era. ConwayBbodyPredFailure era -> DijkstraBbodyPredFailure era
conwayToDijkstraBbodyPredFailure :: forall era.
ConwayBbodyPredFailure era -> DijkstraBbodyPredFailure era
conwayToDijkstraBbodyPredFailure = \case
Conway.WrongBlockBodySizeBBODY Mismatch RelEQ Int
mm -> Mismatch RelEQ Int -> DijkstraBbodyPredFailure era
forall era. Mismatch RelEQ Int -> DijkstraBbodyPredFailure era
WrongBlockBodySizeBBODY Mismatch RelEQ Int
mm
Conway.InvalidBodyHashBBODY Mismatch RelEQ (Hash HASH EraIndependentBlockBody)
mm -> Mismatch RelEQ (Hash HASH EraIndependentBlockBody)
-> DijkstraBbodyPredFailure era
forall era.
Mismatch RelEQ (Hash HASH EraIndependentBlockBody)
-> DijkstraBbodyPredFailure era
InvalidBodyHashBBODY Mismatch RelEQ (Hash HASH EraIndependentBlockBody)
mm
Conway.LedgersFailure PredicateFailure (EraRule "LEDGERS" era)
f -> PredicateFailure (EraRule "LEDGERS" era)
-> DijkstraBbodyPredFailure era
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> DijkstraBbodyPredFailure era
LedgersFailure PredicateFailure (EraRule "LEDGERS" era)
f
Conway.TooManyExUnits Mismatch RelLTEQ ExUnits
mm -> Mismatch RelLTEQ ExUnits -> DijkstraBbodyPredFailure era
forall era.
Mismatch RelLTEQ ExUnits -> DijkstraBbodyPredFailure era
TooManyExUnits Mismatch RelLTEQ ExUnits
mm
Conway.BodyRefScriptsSizeTooBig Mismatch RelLTEQ Int
mm -> Mismatch RelLTEQ Int -> DijkstraBbodyPredFailure era
forall era. Mismatch RelLTEQ Int -> DijkstraBbodyPredFailure era
BodyRefScriptsSizeTooBig Mismatch RelLTEQ Int
mm
instance
( Era era
, BaseM ledgers ~ ShelleyBase
, ledgers ~ EraRule "LEDGERS" era
, STS ledgers
) =>
Embed ledgers (DijkstraBBODY era)
where
wrapFailed :: PredicateFailure ledgers -> PredicateFailure (DijkstraBBODY era)
wrapFailed = PredicateFailure ledgers -> PredicateFailure (DijkstraBBODY era)
PredicateFailure (EraRule "LEDGERS" era)
-> DijkstraBbodyPredFailure era
forall era.
PredicateFailure (EraRule "LEDGERS" era)
-> DijkstraBbodyPredFailure era
LedgersFailure
wrapEvent :: Event ledgers -> Event (DijkstraBBODY era)
wrapEvent = ShelleyBbodyEvent era -> AlonzoBbodyEvent era
forall era. ShelleyBbodyEvent era -> AlonzoBbodyEvent era
ShelleyInAlonzoEvent (ShelleyBbodyEvent era -> AlonzoBbodyEvent era)
-> (Event ledgers -> ShelleyBbodyEvent era)
-> Event ledgers
-> AlonzoBbodyEvent era
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Event ledgers -> ShelleyBbodyEvent era
Event (EraRule "LEDGERS" era) -> ShelleyBbodyEvent era
forall era. Event (EraRule "LEDGERS" era) -> ShelleyBbodyEvent era
Shelley.LedgersEvent